最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

c語(yǔ)言單鏈表常規(guī)操作

2022-11-23 21:01 作者:站在盡頭的孩子  | 我要投稿

#include #include #include typedef struct Node { int data; // int length; struct Node*next; }Node; //單鏈表初始化 Node*inintlist() { Node*list = (Node*)malloc(sizeof(Node)); list->data = 0; list->next = NULL; return list; } //單鏈表頭插入 void headInsert(Node*list,int data) { Node*node = (Node*)malloc(sizeof(Node)); node->data = data; node->next = list->next; list->next = node; list->data++; } //單鏈表尾插法 void tailInsert(Node*list,int data) { Node*head = list; Node*node = (Node*)malloc(sizeof(Node)); node->data = data; node->next = NULL; list = list->next; while(list->next) { list = list->next; } list->next = node; head->data++; } //單鏈表制定數(shù)據(jù)刪除 void delereInsert(Node*list,int data) { Node*pre = list; Node*current = list->next; //printf("debuge\n"); while(current) { //printf("debuge\n"); if(current->data==data) { //printf("debuge\n"); pre->next = current->next; free(current); break; } pre = current; current = current->next; //printf("debuge\n"); } list->data--; } //單鏈表查找數(shù)據(jù)顯示位置 void find(Node*list,int data) { int i = 0; Node*current = list->next; //printf("debuge\n"); { while(current) { //printf("debuge\n"); if(current->data==data) { printf("找到數(shù)據(jù):%d\n",data); printf("數(shù)據(jù)在鏈表第:%d位置\n",i+1); break; } current = current->next; i++; //printf("debuge\n"); } if(current==NULL) { printf("鏈表沒(méi)有要找的數(shù)據(jù):%d\n",data); } } } //單鏈表指定位置插入數(shù)據(jù) int insert(Node*list,int data,int pos) { int i; Node*current = list; ////printf("debuge\n"); for(i = 1;inext; } if(current!=NULL) { Node*node = (Node*)malloc(sizeof(Node)); node->data = data; node->next = current->next; current->next = node; list->data++; printf("數(shù)據(jù)已經(jīng)插入成功:%d\n",data); } return 0; } //單鏈表的插入,在鏈表的第i個(gè)位置插入x的元素 //Node*insert(Node*list,int data,int i) //{ // Node*pre;//pre為前驅(qū)結(jié)點(diǎn) // pre = list; // int tempi = 0; // for(tempi = 0;tempinext;//查找第i個(gè)位置的前驅(qū)結(jié)點(diǎn) // if(pre==NULL) // { // printf("插入位置不合法\n"); // return list; // } // } // Node*p;//插入的結(jié)點(diǎn)為p // p = (Node*)malloc(sizeof(Node)); // p->data = data; // p->next = pre->next; // pre->next = p; // list->data++; // return list; //} //新建鏈表方式-反轉(zhuǎn)鏈表? Node*revert_list(Node*list) { int data; if(NULL==list->next) { return list; } Node*p = list->next; Node*q = NULL; q = p->next; while(q) {?? p->next = q->next;//分離q? data = q->data; q = p->next; headInsert(list,data);//將q插入到首元素位置? } return list; } //單鏈表遍歷打印 void printlist(Node*list) { list = list->next; while(list) { printf("%d ",list->data); list = list->next; } printf("\n"); } int main() { Node*list = inintlist(); //headInsert(list,1); //headInsert(list,8); //headInsert(list,2); //tailInsert(list,10); //tailInsert(list,4); //tailInsert(list,5); //tailInsert(list,6); //tailInsert(list,7); printlist(list); printf("刪除鏈表中的:%d\n",1); delereInsert(list,1); printf("刪除鏈表數(shù)據(jù)在打印鏈表\n"); printlist(list); printf("要找的數(shù)據(jù)是:%d\n",10); find(list,10); printf("查找完成打印鏈表\n"); printlist(list); printf("插入數(shù)據(jù):%d\n",10); printf("插入數(shù)據(jù)位置:%d\n",3); insert(list,10,3); printf("插入操作完成后鏈表\n"); printlist(list); Node*revert = revert_list(list); printf("反序操作完成后鏈表\n"); printlist(revert); return 0; }

c語(yǔ)言單鏈表常規(guī)操作的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
什邡市| 吐鲁番市| 呼图壁县| 志丹县| 阿克陶县| 永靖县| 乌什县| 奉化市| 乡城县| 武安市| 马鞍山市| 甘肃省| 望谟县| 酒泉市| 郸城县| 肥乡县| 天镇县| 苏尼特右旗| 西贡区| 镇康县| 荔波县| 岚皋县| 巧家县| 犍为县| 垫江县| 衡阳市| 长岛县| 利辛县| 昌图县| 桃园市| 金溪县| 景德镇市| 利津县| 陇西县| 华宁县| 隆回县| 六安市| 江华| 青川县| 衢州市| 葵青区|