線性表子系統

2021-07-03 09:47:00 字數 2744 閱讀 7767

線性表子系統

1.實驗目的

(1)掌握線性表的特點。

(2)掌握線性表順序儲存結構和鏈式儲存結構的基本運算。

(3)掌握線性表的建立、插入、刪除和顯示線性表中元素等基本操作。 

2.實驗內容

(1)用結構體描述乙個字元形的單向鍊錶。 

(3)用if語句設計乙個選擇式選單。

線性表子系統

*******************************

*                1------建 表                   *

*                2------插 入                   *

*                3------刪 除                   *

*                4------顯 示                   *

*                5------查 找                   *

*                6------求 表 長               *

*                0------返 回                   *

*******************************

請選擇選單號碼(0-6):

附c源程式**:

#include#includetypedef struct linknode   // 結點型別定義

linknode;

linknode *head; // 定義 head 為結構型別指標變數

int n; //n為線性表的長度

//尾插法建表

// 帶頭結點的尾插法建立單鏈表

void createlist()

else

}}//插入結點演算法

void insertlist(int i, char x) //i 的合法位置為:1<=i<=n

//當j==i時迴圈結束

if(p!=null) //p還在結點範圍內,肯定j==i,說明找到了

else

}else

}//刪除資料域為x的結點元素

void deletelist(char x)

//順鏈查詢,直到p->data==x迴圈終止

if (p!=null)

else

printf("\n\t\t抱歉!沒有找到您要刪除的結點\n");

}//顯示線性表

void showlist()

if(head->next==null||p==null)

printf("\n\t\t鍊錶為空");

}//按序號查詢

linknode *querylist1(linknode *head, int i)

// head接收已存在的鍊錶的頭指標

// i 接收要查詢的結點的位置

//從頭結點開始順鏈掃瞄

if(j==i) //當 j=i時,指標 p 所指的結點就是第 i 個結點

else

}void lengthlist()

if(p->next==null) //如果到表尾

else

}void main()

else if(choose==5)

else if(choose==2)

else if(choose==3)

else if(choose==4)

else

}else if(choose==6)

else if(choose==0)

else}}

執行結果如下:

鏈式線性表和順序線性表

在這裡插入 片 線性表的儲存結構 typedef struct seqlist typedef struct seqlist 順序表基本操作 初始化順序表在這裡插入 片 intseqlist init seqlist list,int size 插入資料元素在這裡插入 片 intseqlist in...

線性表演算法題庫 線性表習題

鍊錶。若指標p指向某結點時,能夠根據該指標找到其直接後繼,能夠順後繼指標鏈找到p結點後的結點。但是由於不知道其頭指標,所以無法訪問到p指標指向的結點的直接前趨。因此無法刪去該結點。2.雙鏈表。由於這樣的鍊錶提供雙向指標,根據p結點的前趨指標和後繼指標可以查詢到其直接前趨和直接後繼,從而可以刪除該結點...

刪除線性表節點 線性表

submit 81 solved 66 submit status web board 已知長度為n的線性表a採用順序儲存結構,請寫一時間複雜度為0 n 空間複雜度為0 1 的演算法,該演算法刪除線性表中所有值為item的資料元素。o 1 表示演算法的輔助空間為常量 輸入 n 6 輸入資料 1 2 ...