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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C经典之14-双向链表存储1-10---ShinePans

發布時間:2025/1/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C经典之14-双向链表存储1-10---ShinePans 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdio.h> #include <conio.h> #include <stdlib.h> //system(); 這個指令須要用到此頭文件 #include <ctype.h> //toupper要用到 #include <malloc.h> //在內存管理時用到的頭文件 void main() {int i;struct ListEntry{int number; //數據域struct ListEntry *next; //指向 下一個ListEntry節點的指針struct ListEntry *previous; //指向上一個 ListEntry節點的指針}start,*node, *newOne;start.next = NULL; //置空鏈表start.previous = NULL;node = &start; //指向鏈表的開始for (i = 1; i < 10; i += 2){node->next = (struct ListEntry*)malloc(sizeof(struct ListEntry));node->next->previous = node;node = node->next;node->number = i;node->next = NULL;}for (i = 2; i <= 10; i += 2){int found = 0;newOne = (struct ListEntry*)malloc(sizeof(struct ListEntry));newOne->number = i;node = start.next;do{if (node->number > newOne->number){newOne->next = node;newOne->previous = node->previous;node->previous->next = newOne;node->previous = newOne;found = 1;}else{node = node->next;}}while ((node->next) && (!found));if (!found)if (node->number > newOne->number){newOne->next = node;newOne->previous = node->previous;node->previous->next = newOne;node->previous = newOne;}else{newOne->next = NULL;newOne->previous = node;node->next = newOne;}}node = start.next;do{printf("%d", node->number);node = node->next;} while (node);system("pause"); }





這個代碼很經典,將1-10 不按書順序存入雙向鏈表,而且又一次編排,使其終于輸出 為 12345678910

總結

以上是生活随笔為你收集整理的C经典之14-双向链表存储1-10---ShinePans的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。