第02次作業 線性表

2022-05-23 06:03:12 字數 3116 閱讀 8084

題目一:1.6-3 jmu-ds- 順序表刪除重複元素(25 分)

2.設計思路:

刪除函式:

變數定義i,j表示計數。

if l->length>0

}l長度=j+1;

}else

3.**截圖

4.pta提交列表說明

(1)應是鍊錶形式卻寫成結構體形式導致編譯錯誤。

eg:l.data[i]=a[i];應改為l->data[i]=a[i];

(2)輸出函式出錯:題目要求最後輸出不能有空格。刪除函式:只能在空表的情況下成立,**不符合要求,第二個人for迴圈j++後此節點就往後移動,最後比較不了。

輸出函式修改:從第乙個到倒數第二個輸出後面都帶空格,最後乙個數單獨輸出,不帶空格。

for(i=0;i改為:

for(i=0;ilength;i++)

(3)刪除函式修改:利用for迴圈巢狀while迴圈,利用while迴圈從前到後找與i所指向的元素相同的數,找到跳出while迴圈,若沒有重複數字,則k一定大於j,在k>j的情況下重新記錄資料。一定要記住判斷此順序表是否為空,否則空表的測試點不通過。

for(i=1;ilength;i++)
改成

if(l->length>0)

l->length=j+1;

} else

題目二:6-2 jmu-ds-單鏈表逆置(25 分)

2.設計思路:

if(l的下乙個節點不為空)

最後乙個還是要指向其前乙個;

頭指標逆序後變最後乙個,最後乙個next=null ;

頭指標指向s;

}

3.**截圖

4.pta提交列表說明

(1)沒有考慮到空鍊錶的情況,導致空鍊錶執行出錯。

解決方法:在每乙個函式要進行時都判斷一下鍊錶是否為空,不為空才繼續進行。

題目三:7-2 一元多項式的乘法與加法運算(20 分)

2.設計思路:

分別建立建立一元多項式,一元多項式加法,一元多項式乘法,一元多項式輸出四個函式。

(2)一元多項式的加法:

定義結構體指標ha,hb分別指向鍊錶a,b頭節點,

定義結構體指標f用於儲存新鍊錶,

while a and b都不空

doif(ha->exp!=hb->exp)

then 指數,係數相加後存入新鍊錶

else ha,hb同時往後移乙個節點,同樣存入新鍊錶

if a不為空

then c

if b不為空

then c

返回c

(3)一元多項式乘法

定義結構體指標ha,hb分別指向鍊錶a,b頭節點,

定義結構體指標f用於儲存新鍊錶,

if a空orb空

then 返回空的c

while ha

do依次乘b中的指數和係數

呼叫加法函式,將結果賦予f,

返回f

3.**截圖

4.pta提交列表說明

(1)沒意識到輸出要求數字間以空格分隔。

改為:

if(hc==null)  

while(hc!= null)

(2)

乘法函式:沒有意識到倆鍊錶相乘完沒有按遞減順序排放,應在乘完之後再利用加法函式使其成遞減輸出。

while(ha!=null)

ha=ha->next;

return f;

}

應在ha=ha->next;後新增

l->next=null;

f= add(f,temp); //相當於按遞減排序

1.順序表pta排名

2.鍊錶pta排名

3.我的總分:

總分:2.5分

1.談談你本週資料結構學習時間是如何安排,對自己安排滿意麼,若不滿意,打算做什麼改變?

2.談談你對線性表的認識?

線性表就是有唯一的「第乙個」和「最後乙個」元素的有限序列。線性表元素與位置有關,這種位置上的的有序性就是一種線性關係。1)順序表:在儲存空間中是按順序儲存,不容易隨意改動。2)鍊錶:含有指向後繼節點的指標,變換更靈活。

3.**git提交記錄截圖

第02次作業 線性表

題目1 6 2 jmu ds 單鏈表逆置 題目2 6 3 jmu ds 鍊錶倒數第m個數 題目3 7 1 兩個有序鍊錶序列的合併 具體操作 題目1 6 2 jmu ds 單鏈表逆置 1.本題要求實現乙個函式,將給定單向鍊錶逆置,即表頭置為表尾,表尾置為表頭。鍊錶為帶頭結點鍊錶。要實現函式有3個分別為...

第02次作業 線性表

1.首先定義i,j兩個變數,i用來記錄陣列data的下標,而j用來記錄在區間 mind,maxd 之中的元素個數。2.當i 0到i l las 1t時,如果l data i mind l data i 不然 l data i j l data i i加一 最後線性表的長度減去j。返回 鍊錶l 解決方...

部落格作業02 線性表

給定乙個順序儲存的線性表,請設計乙個演算法查詢該線性表中最長的連續遞增子串行。例如,1,9,2,5,7,3,4,6,8,0 中最長的遞增子串行為 3,4,6,8 查詢最長連續遞增子串行函式 定義整型變數i,j表示迴圈變數,k用來作找到後新陣列下標 定義整型變數 maxlength 1 maxleng...