線性表子系統
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 ...