生成有序連結串列,如何將兩個有序連結串列併為乙個有序連結串列

2025-02-09 10:44:51 字數 1277 閱讀 8224

1樓:網友

#include ""

#include ""

typedef struct node

char name[10];

char num[10]; 為了可以有較長的學號struct node *next;

linklist;

linklist *creat_list(int n);

int main()

linklist *head;

int num_value;

int i;

printf("請輸入有幾個學生:")

scanf("%d",&num_value);

head = creat_list(num_value);

return 0;

linklist *creat_list(int n) /連結串列。

int i;

linklist *head,*r,*p;

p = linklist *)malloc(sizeof(linklist));

head = p;

r = p; /測試已經正確。

for(i=1;i<=n;i++)

p = linklist *)malloc(sizeof(linklist));

r->next = p;

r = p;

printf("輸入第%d個學生的名字:",i);

scanf("%s",r->name); 輸入名字。

printf("輸入第%d個學生的學號:",i);

scanf("%s",r->num); 輸入學號。

p->next = null;

return (head);

經過我測試的,,應該是正確的,,並且可以輸入任意個人,,學號可以很長。如果還有什麼需要擴充的功能,我會盡量繼續為你再加入並除錯。

如何將兩個有序連結串列併為乙個有序連結串列?

2樓:木野輕風

有兩個連結串列;分別存放的資料是:

設定兩個指標i和j,分別指向兩個連結串列的表頭;

現在j指向的資料1較小,就把1儲存到乙個新連結串列中,用k指向;

那j再指向下乙個數5,再和i比較;

i指向的數2較小,就把2儲存到新連結串列中,放到原來k指向的後面,並用k指向它;

i再指向下乙個數4;依次類推。

如果哪乙個連結串列沒資料了,就把另乙個連結串列的數全部鏈到新連結串列中。

3樓:陳明龍

先建立乙個有序的list,

C語言連結串列這兩個語句snextpsp怎麼理解

先讓s指標指向的結點指向p結點 然後再讓s指標指向p結點 d不懂請追問 c語言連結串列中s next p s p什麼意思 假設s指向連結串列的最後一個節點,因為s指向的節點是最後一個,所以s next是null。假設這時需要將一個新節點p插在連結串列的結尾,很明顯我們需要讓最後一個節點指向p,於是s...

如何將兩個flash重疊

你可以用層 z index 來做 z index 定義了層在立體方向上的層疊順序,其數值的大小決定了元素之間相互覆蓋的順序,例如a層原本覆蓋了b層,但如果b層的z index值改變,且大雨了a層的z index值,則b層覆蓋a層。z index值也可以為負值。例如需要將某個flash作品作為網頁背景...

origin80如何將兩個圖合併

材料 工具 origin8.0 1 首先我們開啟origin軟體,然後匯入我們原來的兩張圖的資料,之後再點選 中的新建工作簿按鈕 2 然後在新建的工作簿中滑鼠右擊b y 然後點選插入按鈕3 然後滑鼠右擊c y 之後依次點選設定為和x4 然後再分別將兩幅圖的原始資料,複製到新建的工作簿5 然後點選介面...