第二次作業-線性表
PTA試驗作業
題目:
思路:
建立一個鏈表LinkList1
當輸入不是-1的時候
繼續錄入
到-1的時候結束
建立一個鏈表LinkList2(鏈表2用函數建立比較方便)
合並LinkList1和2到3
排序
心路歷程:⑴沒有考慮鏈表為空的時候;(思維不夠緊密,要加強)
⑵在打代碼時很容易打錯導致編譯錯誤;(不要求快,要細心解決這種低級錯誤)
題目:
思路:
int i,j=0;i用於計數,j為統計被刪除的個數
for(i=0;i<=L->Last;i++){
if(L->Data[i]>minD&&L->Data[i]<maxD){判斷符合刪除條件的個數
}
else{
L->Data[j]=L->Data[i];不滿足刪除條件的存入 從新的下標開始儲存
j++;
}
}
L->Last=L->Last-c;數組長度減去刪除個數
題目:
設計思路:
首先建立兩個指針p,q;
p指向L-next鏈表第一個元素,然後斷開頭節點與鏈表即為L->next=NULL;
然後用while循環(p!=NULL)
q=p此時q中存有第一個元素
p指向p->next
q與L連起來
L->next =q 把q的值給頭節點的下一個元素,相當於頭插法的操作,每循環一次將後面的元素插在頭節點之後,就完成了逆置的操作。
錯誤:在一些小細節上按犯錯,在這個題中就沒遇到太大問題。
排名:
順序表PTA排名
鏈表排名:
總分:190
總分150-220:1.5分
三、本周學習總結
答:
1.線性表是n個數據元素的有限集合
2.他存在唯一的一個被叫做“第一個”的數據元素,存在唯一的一個被叫做“最後一個”的數據元素。
3.除了第一個數據元素外,其它的數據元素都有一個前驅。除了最後一個數據元素外,其它的數據元素都有一個後繼。即中間的元素有一個前驅和一個後驅
4.線性表是一個動態的線性數據結構,他的長度可以在運行時根據需要增加或者縮短。
5.線性表有順序表,單鏈表,雙向鏈表,循環鏈表,靜態表
6.線性表是n個數據元素構成的有限線性序列
第二次作業-線性表