国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

帶頭結點的單鏈表操作

2019-11-06 06:13:09
字體:
來源:轉載
供稿:網友

鏈表結構

struct node{ int data; node* next;}typedef node* linklist;

1.鏈表的初始化

void initlist(linklist *l){ *l=(linklist)malloc(sizeof(struct(node))); if(!*l) return -1; *l->next=NULL;}

2.銷毀鏈表

void destroylist(linklist* l){ linklist q; while(*l) { q=*l->next; free(*l); *l=q; }}

3.清空鏈表

void clearlist(linklist l){ linklist p,q; p=l->next; while(p) { q=p->next; free(p); p=q; } l->next=NULL;}

4.獲取鏈表某個位置的元素

int getele(linklist l, int i, int *e){ int j=0; linklist p=l->next; while(p&&j<i) { p=p->next; ++j; } if(!p) return -1; *e=p->data; return 1;}

5.獲取前驅節點

int getPRior(linklist l, int cure, int *pre){ linklist p,q; q=l->next; while(q->next) { p=q->next; if(p->data==cure) { *pre=q->data; return 1; } q=p; } return -1;}

6.獲取后繼節點

int getnext(linklist l, int cure, int *next){ linklist p=l->next; while(p->next) { if(p->data==cure) { *next=p->next->data; return 1 } p=p->next; } return -1;}

7.鏈表中插入節點

int listinsert(linklist l, int i, int ele){ int j=0; linklist p=l,s; while(p&&j<i-1) { p=p->next; ++j; } if(!p||j>i-1) return -1; s=(linklist)malloc(sizeof(struct(node))); s->data=e; s->next=p->next; p->next=s; return 1;}

8.鏈表的刪除

int listdelete(linklist l, int i, int *e){ int j=0; linklist p=l,q; while(p->nextj<i-1) { p=p->next; ++j; } if(!p->next||j<i-1) return -1; q=p->next; p->next=q->next; *e=q->data; free(q); return 1;}
上一篇:漢諾塔問題

下一篇:大神博客網址

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝城县| 海伦市| 甘孜县| 汉源县| 禄劝| 容城县| 平湖市| 新津县| 江安县| 泰和县| 泊头市| 华阴市| 三明市| 富平县| 新河县| 乃东县| 图片| 文水县| 桦川县| 平阳县| 澳门| 沙河市| 大新县| 苍山县| 江西省| 明光市| 石楼县| 子长县| 嘉定区| 台湾省| 宜昌市| 牡丹江市| 措勤县| 乌拉特后旗| 上犹县| 蒙城县| 禹城市| 女性| 电白县| 弋阳县| 垦利县|