第三組兩個有序表合併

2022-02-09 01:58:36 字數 902 閱讀 8790

#include

#include

typedef struct list

list;

list *createlist();

void printflist(list *pre);

list *sort(list *head);

list *add(list *l1,list *l2);

int main()

list *createlist()

else

return 0;

scanf("%d",&m);

while(m!=-1)

p->next=null;

return l;

}list *add(list *l1,list *l2)

while(q!=null)

pre->next=null;

return r;

}void printflist(list *l)

else

printf("%d",l->data);

l=l->next;}}

list *sort(list *head)

return head;

}這又合併兩條單鏈表並排序的題目呢,在pta上未能實現滿分。

主要有一下幾點錯誤;

1.當輸入第一條鍊錶的第乙個數字為-1時,程式就無法執行。

2.組員對指標的移動掌握不熟悉,常常使指標指向錯誤。

3.部分組員的printlist函式出錯,主要是對題目沒有認真審題,對題目要求的末尾無空格沒有特殊處理。

4.對於結構體,結構體函式和typedef的運用不熟悉。

5.對鍊錶指標與指向指標的指標概念混淆。

未解決錯誤的第一點。

希望老師能對鍊錶指標與指向指標的指標給我們做個辨析。

合併兩個有序表

題目 兩串數字有序,分別用順序表和煉表的方式,將兩串數字合併。一 順序表 思路 如有有序表a,b a 1 2 4 5 5 b 2 3 3 6 7 1.一開始 i 指向 a的開頭元素 即1 同理 j 指向 b開頭元素 2 2.a i 和 b j 中對比,選較小的放入新錶c中 include inclu...

合併兩個有序鍊錶

鍊錶的題目總是讓我很惆悵。動輒就會runtime error。比如這題,額外用了乙個節點的空間來儲存頭節點。我很不情願多用這個空間,不過貌似不行。貌似不行,實際可行,見附錄。把頭節點提出迴圈 實現類 class solution else if l1 null p next l1 if l2 nul...

合併兩個有序鍊錶

三個指標乙個儲存la鍊錶 乙個儲存lb鍊錶,乙個指向新的鍊錶。鍊錶的插入,兩個指標,乙個是head,乙個指向head後面的鏈,新插入的元素位於head後面。執行該 自己外加上class類。static class node public static void main string args st...