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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构(算法)-线性表2(单链表)

發(fā)布時(shí)間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构(算法)-线性表2(单链表) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

/** 單鏈表 雙鏈表1,空的線性表setNull(L) 2,insert 加入元素 3,根據(jù)位置查找元素 4,查找所有元素 5,刪除一個(gè)元素 */#include <iostream>using namespace std;typedef char ElemType;//單鏈表 struct LNode{ElemType data;struct LNode *next; };void setNull(struct LNode **p){*p=NULL; }void insert(struct LNode **p , ElemType x , int i){int j=1;struct LNode *s , *q;s=(struct LNode *)malloc(sizeof(struct LNode));s->data=x;q=*p;if(i == 1){//前插入頭結(jié)點(diǎn)s->next=q;*p=s;}else{while(j<i-1 && q->next != NULL){//中間插入,查找元素的位置q=q->next;j++;}if(j == i-1){ //定位到相應(yīng)的位置s->next=q->next;//**s的下一個(gè)結(jié)點(diǎn)指向q的下一個(gè)結(jié)點(diǎn)q->next=s; //q的下一個(gè)結(jié)點(diǎn)指向s 形成鏈表}else{cout<<"位置不對(duì)"<<endl;}}}void display(struct LNode **p ){struct LNode *q;q=*p;cout<<"單鏈表:"<<endl;if(q== NULL){cout<<"鏈表為空"<<endl;}else if(q->next == NULL){printf("%c",q->data);}else{while(q->next != NULL){printf("%c->",q->data);q=q->next;}printf("%c",q->data);}printf("\n"); }void del(struct LNode **p,int i){int j=1;struct LNode *q=*p,*t;if(i == 1){//刪除頭結(jié)點(diǎn)t=q;*p=q->next;//直接用后一個(gè)結(jié)點(diǎn)覆蓋前一個(gè)結(jié)點(diǎn)}else{while(j<i-1 && q->next != NULL){//查找刪除元素的位置q=q->next;j++;}if(j == i-1 && q->next != NULL){//定位到相應(yīng)的位置t=q->next;//定位到后,賦值給待刪除結(jié)點(diǎn)q->next=t->next;//t->next賦值給q->next覆蓋掉(刪除)}else{cout<<"位置不對(duì)"<<endl;}if(t != NULL){free(t);//最后銷(xiāo)毀 }} }void main(){struct LNode *head;setNull(&head);insert(&head,'a',1);insert(&head,'b',2);insert(&head,'a',2);insert(&head,'c',4);insert(&head,'d',3);insert(&head,'e',1);//前插display(&head);del(&head,1);//刪頭結(jié)點(diǎn)display(&head);del(&head,5);//刪尾結(jié)點(diǎn)display(&head);del(&head,3);//刪中間結(jié)點(diǎn)display(&head);}

?

測(cè)試結(jié)果單鏈表: e->a->a->d->b->c 單鏈表: a->a->d->b->c 單鏈表: a->a->d->b 單鏈表: a->a->b

?

轉(zhuǎn)載于:https://my.oschina.net/saulc/blog/2246009

總結(jié)

以上是生活随笔為你收集整理的数据结构(算法)-线性表2(单链表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。