DS部落格作業02 線性表

2022-04-12 21:23:10 字數 1677 閱讀 4454

這階段學習學的是線性表,學習線性表的兩種儲存順序-----鍊錶和順序表,體會了兩者儲存結構之間的區別,通過對順序表,單鏈表,雙鏈表,迴圈鍊錶,有序表的特點的了解,和學習它們的演算法設計方法,綜合運用線性表解決一些問題,在查資料時,也領悟一點單雙鏈表的在一些方面使用的優劣,對線性表的知識更加加深一點。

void createsqlist(sqlist &l, int n)

分配存放線性表l的空間;

定義k表示l中的元素個數,初始值為0;

while(ilength to i

將線性表往後退一格

將x存入第乙個位置

length++;

for k=0 to l->length

end for;

void dispsqlist(sqlist l)

int i來遍歷線性表

if l->length=0

cout <

else

for i=0 to l->length-1

cout<< l->data[i];

if i!=l->length-1

輸出空格

建立結點s;

l=new lnode

建立頭結點,其next域為0

for int i=0 to n

遍歷將a[i]的值存入鍊錶

s->next=l->next

l->next=s

將s插入之前首節點的前面,頭結點之後

void displist(linklist l)

定義p指向首結點

while(p!=null)

輸出p結點的data域

p指向下個結點

並且if(p->next!=0)

建立p結點和q結點

p指向首節點

其next域制空

while (p)

將鍊錶同時向後退一位

使用頭插法使鍊錶逆序

DS部落格作業02 線性表

方法,還有迴圈鍊錶和雙鏈表的建立,學習了這幾種鍊錶,在今後的使用鍊錶中有了更多的選擇,同時也提高了解部分題目的效率。在順序表這一方面,主要學習的是對順序表的插入和刪除操作,鍊錶也同樣是插入和刪除,再加上擴充套件的一些操作。這兩種線性表各有 其優缺點,在使用時還需要分情況考慮。插入函式listinse...

DS部落格作業02 線性表

1.2談談你對線性表的認識及學習體會 1 線性表是一種典型的線性結構,也是一種最常用的資料結構。線性表包括順序儲存結構和來鏈式儲存結構兩種,其中鏈式儲存結構的鍊錶正是上學期學過一點,在運用上的話,原理是懂了,但是運用起來還是 有點欠佳。剛開始做對鍊錶的一些操作方法有點不清楚,還有就是這學期涉及到時間...

DS部落格作業02 線性表

線性表的很多操作都有多種實現方法,在這些操作方法之間我們要盡量選擇一種最優的方法,這就對個人的思維能力有一定要求。而在對線性表進行操作時,有一些細節也要特別注意,比如說鍊錶中指標域的指向,我在對鍊錶進行操作時就經常忽略指標的指向已經改變而導致出錯。相加 等同於兩個有序鍊錶合併,只有在兩個指數相同的節...