線性表
概念:線性表是乙個有限序列,各個表項相繼排列,第乙個為表頭,最後乙個是表尾,且每兩個相鄰項之間有前驅和後繼的關係。
線性表分為有序線性表和無序線性表。
1.順序表的儲存單元 l
a1 a2
... ai
... an
0 1
i-1
n-1
線性表l
**實現儲存結構的建立
#define maxsize 100 // 宣告最大空間
100typedef int datatype; //型別定義
typedef struct //定義結構體
sqlist; //結構體名稱
void creat_list(sqlist *l, int n) //建立線性表
2.線性表的插入
由於在i
位置插入
x,導致
i位置之後所有的數字都要向後移動乙個位置,
i位置前面的位置都不移動。
程式設計思路:
1.先判斷順序表是否滿,插入的位置是否正確
2.在插入之前,先給x
空出位置,也就是說把
an—ai
元素依次往後移動。
3.將x
插入空出來的位置上
4.線性表的長度增加1.
**實現:
sqlist insert_list(sqlist l,int i,datatype x)
return l;
}
3.線性表的刪除
由於在i
位置刪除
ai,導致
i位置之後所有的數字都要向前移動乙個位置,
i位置前面的位置都不移動。
程式設計思路:
1.判斷所刪除的元素是否在範圍之內
2.將該位置上的值刪除
3.將該值刪除之後,從最後乙個元素開始,依次往前移動
4.線性表的長度減一。
**實現:
remove_list(sqlist l,int i)
return 0; }
鏈式線性表和順序線性表
在這裡插入 片 線性表的儲存結構 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 ...