国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
昭觉县| 虹口区| 营口市| 无棣县| 仁布县| 清苑县| 富锦市| 宁阳县| 大新县| 元阳县| 建平县| 嘉禾县| 潮安县| 石林| 西丰县| 南平市| 福建省| 莱阳市| 宜黄县| 开平市| 海丰县| 南宁市| 察隅县| 普安县| 蓝山县| 高青县| 鄂托克旗| 怀宁县| 深州市| 会宁县| 潼南县| 义马市| 长海县| 金昌市| 若尔盖县| 股票| 白朗县| 上林县| 莲花县| 清水河县| 铜川市|