#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...