程式設計實現順序表的基本操作函式

2021-09-22 10:24:27 字數 2102 閱讀 7125

(1) void initlist(sqlist &l, int n) //建立乙個表長為n的順序表

(2) void listinsert(sqlist &l, int i, elemtype e)

//在順序表中第i個位置插入元素函式e

(3) void listdelete(sqlist&l, int i, elemtype &e)

//刪除順序表l的第i個資料元素,並用e返回其值。

(4) void printlist(sqlist l) // 輸出順序表

(5) int locate(sqlist l, elemtype e)

//若順序表l中存在資料元素e,則返回e在順序表l中第一次出現的位序;否則返回0.

(6) int listlength(sqlist l) //求順序表l的表長

# include

# include

# define initsize 20

//初始分配量

# define listincrement 5

//分配增量**

typedef

int elemtype;

typedef

struct

sqlist;

void

intilist

(sqlist &l,

int n)

//建立乙個表長為n的順序表

printf

("請依次輸入順序表的元素:\n");

for(p = l.elem;p < l.elem+n;p++

) l.length = n;

l.listsize = initsize;

}void

listinsert

(sqlist &l,

int i,elemtype e)

//在順序表中第i個位置插入元素e

if(l.length>=l.listsize)

//當前儲存空間已滿,增加分配

l.elem=newbase;

l.listsize+

=listincrement;

}for

(p=l.elem+l.length-

1;p>=q;p--

)//插入位置及之後元素右移

*q=e;

++l.length;

printlist

(l);

//輸出插入元素後的順序表

}void

listdelete

(sqlist &l,

int i,elemtype &e)

//刪除順序表中第i個資料元素,並用e返回其值

p=l.elem+i-1;

//p為被刪除元素的位置

e=*p;

//被刪除元素賦值給e

q=l.elem+l.length-1;

//表尾元素的位置

for(p++

;p<=q;p++

)//被刪除元素之後的元素左移

--l.length;

}void

printlist

(sqlist l)

//輸出順序表

printf

("\n");

}int

locate

(sqlist l,elemtype e)

//若順序表l中存在資料元素e,則返回e在順序表l中第一次出現的位序;否則返回0

if(ielse

return0;

}int

listlength

(sqlist l)

//求順序表l的表長

/* len=l.length;*/

return len;

}int

main()

else

printlist

(l);

//輸出順序表

len=

listlength

(l);

//求順序表l的表長

printf

("順序表的長度為len=%d\n"

,len)

;return0;

}**

順序表的基本操作實現

順序表的基本操作實現 在複習的時候順便寫寫 基本和書上的一樣 include include define ok 1 define error 0 define status int define maxsize 10000 typedef int elemtype 對順序表的定義 typedef ...

順序表基本操作的實現

一 實驗學時 2學時 二 實驗目的 三 實驗內容 順序表的建立 取指定元素 返回指定元素位置 順序表中插入新元素 刪除指定元素操作的實現 四 主要儀器裝置及耗材 五 實驗步驟 分析問題 寫出演算法 編制程式 上機除錯 分析結果 六 程式清單 include include include 要用exi...

順序表的基本操作 C 實現

目前是大四學生,在即將畢業照工作之際,想把資料結構和演算法的基礎好好學習,鞏固下。用的學習教材是,秦鋒主編的 資料結構 c語言版 以下就是我的順序表實現 include include define maxsize 100 順序表長度上限 using namespace std typedef in...