Linux C 資料結構 線性表

2021-10-02 14:56:39 字數 1232 閱讀 4391

順序表特點:

優勢: 儲存密度高,可以隨機訪問。

缺點:1) 要求系統可以提供一片連續的儲存空間,

2) 會出現成片移動的現象。

3) 資料的個數固定。

#include

#define max 16

typedef

int data_t;

typedef

struct

seqlist_t;

//建立空順序表

seqlist_t *

creat_empty_sqlist()

//判斷順序表是否為空:是空:返回1,沒空,返回0.

intempty_sqlist

(seqlist_t *p)

//判斷表是否滿:是滿:返回1.沒滿,返回0

intfull_sqlist

(seqlist_t *p)

//清空順序表

void

clear_sqlist

(seqlist_t *p)

//求表長度。(存放有效資料的個數)

intlength_sqlist

(seqlist_t *p)

//在指定位置插入資料。

intinsert_sqlist

(seqlist_t *l,data_t x,

int pos)

for(i=l->last-

1; i>=pos-

1;i--

) l->data[pos-1]

= x;

l->last++

;return1;

}//刪除指定位置上的資料。

intdelete_sqlist

(seqlist_t *l,

int pos)

for(i=pos-

1; ilast ;i++

) l->last--

;return1;

}//查詢表中是否存在值為 value 的資料。

intsearch_sqlist

(seqlist_t *l,data_t value)

}return0;

}//列印順序表。

void

print_array

(seqlist_t *l)

//測試以上函式是否好用。

intmain()

資料結構(線性表)

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...