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

歡迎光臨散文網(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ó)家法律
铜鼓县| 绥中县| 盘锦市| 辛集市| 霍邱县| 绥中县| 安远县| 张北县| 东明县| 民勤县| 县级市| 陈巴尔虎旗| 土默特左旗| 清新县| 麻栗坡县| 河北区| 康定县| 拉孜县| 横山县| 岐山县| 天峻县| 泸西县| 阿图什市| 新泰市| 盖州市| 通江县| 苏尼特左旗| 泾川县| 辽宁省| 绍兴县| 阿荣旗| 黄骅市| 县级市| 嫩江县| 庆安县| 慈利县| 兰西县| 芦溪县| 西青区| 海林市| 岳普湖县|