日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单链表基本操作在主函数中的实现

發布時間:2023/12/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单链表基本操作在主函数中的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <iostream> #define OK 1 #define ERROR 0 #define VOERFLOE -2 using namespace std;typedef int Status; typedef struct LNode {int date;struct LNode *next; } LNode,*LinkList;//構造一個空的單鏈表 Status InitList(LinkList &L) {L=new LNode;L->next=NULL;return OK; } //創建單鏈表 void CreatList(LinkList &L,int n) {L=new LNode;L->next=NULL;for(int i=0; i<n; i++){LinkList p;p=new LNode;cin>>p->date;p->next=L->next;L->next=p;} } //單鏈表取值 Status GetNumber(LinkList &L,int i,int &e) {LinkList p;int j=1;p=L->next;while(p&&j<i){p=p->next;++j;}if(!p||j>i)return ERROR;e=p->date;return OK; } //單鏈表查找 LNode *LocateNumber(LinkList &L,int e) {LinkList p;p=L->next;while(p&&p->date!=e){p=p->next;}return p; } //單鏈表插入 int ListInsert(LinkList &L,int i,int e) {LinkList p;int j=0;p=L;while(p&&(j<i-1)){p=p->next;++j;}if(!p||j>i-1)return ERROR;LNode *s=new LNode;s->date=e;s->next=L->next;L->next=s;return OK; } //單鏈表刪除 Status ListDelete(LinkList &L,int i) {LinkList p,q;int j=0;p=L;while(p->next&&(j<i-1)){p=p->next;++j;}if((!p->next)||(j>i-1)) return ERROR;q=p->next;p->next=q->next;delete q;return OK; } void display(LinkList &L) {LNode *p;p=L->next;while(p->next){cout<<p->date<<"->";p=p->next;}cout<<p->date; } void welcome() {cout<<"1.初始化\n";cout<<"2.輸入\n";cout<<"3.取值\n";cout<<"4.查找\n";cout<<"5.插入\n";cout<<"6.刪除\n";cout<<"7.輸出\n";cout<<"0.退出\n";cout<<endl; }int main() {LinkList L;welcome();bool a=true;while(a){int N;cout<<endl<< "請選擇:";cin>>N;switch(N){case 1:{InitList(L);cout<<"成功構建一個空的單鏈表!";break;}case 2:{int n;cout<<"請輸入單鏈表長度:";cin>>n;cout<<"請逆序輸入單鏈表元素:";CreatList(L,n);cout<<"單鏈表創建成功!";break;}case 3:{int i,e;cout<<"請輸入所取元素位置:";cin>>i;if(GetNumber(L,i,e)){cout<<"取值成功,值為:";cout<<e;}break;}case 4:{int e;cout<<"請輸入所要查找的元素:";cin>>e;LocateNumber(L,e);cout<<"元素的位置是:"<<e;break;}case 5:{int i,e;cout<<"請輸入位置i:";cin>>i;cout<<"請輸入插入元素:";cin>>e;if(ListInsert(L,i,e)){cout<<"插入成功!";}break;}case 6:{int i;cout<<"請輸入要刪除的位置i:";cin>>i;if( ListDelete(L,i)){cout<<"刪除成功!";}}case 7:{cout<<"鏈表元素為:";display(L);break;}case 0:{a=false;}}}return 0; }

總結

以上是生活随笔為你收集整理的单链表基本操作在主函数中的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。