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