C語言資料結構學習 順序表

2021-10-25 10:40:29 字數 2479 閱讀 9560

#include

#include

#define size 5

typedef

struct sequencetable

sequencetable;

/** * @brief 初始化順序表

* * @return sequencetable

*/sequencetable inittable()

st.length =0;

st.size = size;

return st;

}/**

* @brief 向順序表中新增元素

* * @param st 要新增元素的目標順序表

* @param elem 要插入的元素

* @param add 插入位置

* @return sequencetable

*/sequencetable addtable

(sequencetable st,

int elem,

int add)

if(st.length >= st.size)

st.size +=1

;}for(

int i = st.length-

1;i>=add-

1;i--

) st.head[add-1]

=elem;

st.length ++

;return st;

}/**

* @brief 從順序表中刪除元素

* * @param t 需要刪除元素的順序表

* @param add 刪除元素的位置

* @return sequencetable

*/sequencetable deltable

(sequencetable t,

int add)

// delete operation

for(

int i=add;i) t.length --

;return t;

}/**

* @brief 從給定的順序表中查詢指定元素並返回元素所在位置

* * @param t 給定的順序表

* @param elem 要查詢的元素

* @return int

*/int

selecttable

(sequencetable t,

int elem)

}return-1

;}/** * @brief modify target element in sequence table

* * @param t target sequence table

* @param elem old element

* @param newelem new element

* @return sequencetable

*/sequencetable amendtable

(sequencetable t,

int elem,

int newelem)

/** * @brief show sequence table

* * @param t

*/void

displaytable

(sequencetable t)

printf

("\n");

}int

main()

printf

("the source sequence table: \n");

displaytable

(t1)

;printf

("delete element 1: \n");

t1 =

deltable

(t1,1)

;displaytable

(t1)

;printf

("insert the element '5' at the secend seat:\n");

t1 =

addtable

(t1,5,

2);displaytable

(t1)

;printf

("find the element '3' seat:\n");

int add =

selecttable

(t1,3)

;printf

("%d\n"

, add)

;printf

("change element '3' to '6':\n");

t1 =

amendtable

(t1,3,

6);displaytable

(t1)

;return0;

}

C 資料結構學習一 順序表

順序表模板類 ifndef sequential list hxx define sequential list hxx using std cout using std endl const int maxsize 100 順序表陣列最大值 template class seqlist 定義模板類...

c語言資料結構學習

單向鍊錶中26個英文本母的錄入 void build p data z 最後乙個字母z單獨處理 p next null z為尾結點,無next,單獨處理指標域 以上為子函式部分,輸出部分如下 void display 問題 如果要求計數有多少個字元。回答 將輸出行改為用count計數。刪除 p 節點...

資料結構學習筆記(一) 順序表

一般來說,由於順序表結點的位序從1開始,而c語言中向量的下標從0開始,若從下標為1的向量元素開始使用,使結點的位序和向量的下標一致,則處理會簡單一些,下標為0的元素不用或用作其它用途。include include using namespace std define maxsize 1024 結構...