資料結構 線性表

2021-07-29 03:51:28 字數 1562 閱讀 6731

線性表是資訊表的一種形式,表中資料元素之間滿足線性關係(或線性結構),

是一種最基本、最簡單的資料結構型別。

1) 對非空表,a0是表頭,無前驅;

2) an-1是表尾,無後繼;

3) 其它的每個元素ai有且僅有乙個直接前驅(ai-1)和乙個直接後繼(ai+1)。

#include 

#include

#define max 64

typedef int datatype_t;

struct sqlist

;struct sqlist *sqlist_creat()

int sqlist_empty(struct sqlist* sl)

int sqlist_full(struct sqlist* sl)

datatype_t sqlist_delete_by_pos(struct sqlist* sl,int

pos)

int i=pos;

datatype_t d=sl->data[pos];

while(ilast)

sl->last--;

return d;

}void sqlist_delete_by_data(struct sqlist* sl,datatype_t d)

sl->last-=cnt;

}void sqlist_insert(struct sqlist* sl,datatype_t d)

sl->last++;

sl->data[sl->last]=d;

}void sqlist_insert_by_pos(struct sqlist *sl,int

pos,datatype_t d)

sl->last++;

int i=sl->last;

while(i!=pos)

sl->data[i]=d;

}datatype_t sqlist_delete(struct sqlist* sl)

int sqlist_search_by_data(struct sqlist* sl,datatype_t d)

return -1;

}datatype_t sqlist_search_by_pos(struct sqlist* sl,int

pos)

return sl->data[pos];

}void sqlist_modify_by_data(struct sqlist* sl,datatype_t pre,datatype_t new)

}void sqlist_modify_by_pos(struct sqlist* sl,datatype_t new,int

pos)

sl->data[pos]=new;

}void sqlist_show(struct sqlist* sl)

void sqlist_union(struct sqlist* s1,struct sqlist* s2)

}int main()

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...

資料結構 線性表

線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...