#include?typedef?int?elemType;/*************************************************************">
關于線性表順序存儲操作的16種算法

關于線性表順序存儲操作的16種算法

ID:11934572

大小:61.00 KB

頁數(shù):16頁

時間:2018-07-15

關于線性表順序存儲操作的16種算法_第1頁
關于線性表順序存儲操作的16種算法_第2頁
關于線性表順序存儲操作的16種算法_第3頁
關于線性表順序存儲操作的16種算法_第4頁
關于線性表順序存儲操作的16種算法_第5頁
資源描述:

《關于線性表順序存儲操作的16種算法》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、#include?#include?typedef?int?elemType;/************************************************************************//*????????????????以下是關于線性表順序存儲操作的16種算法???????????????????????*//************************************************************************/struct?List

2、{????elemType?*list;????int?size;????int?maxSize;};void?againMalloc(struct?List?*L){????????/*?空間擴展為原來的2倍,并由p指針所指向,原內(nèi)容被自動拷貝到p所指向的存儲空間?*/????elemType?*p?=?realloc(L->list,?2?*?L->maxSize?*?sizeof(elemType));????if(!p){????/*?分配失敗則退出運行?*/????????printf("存儲空間分配失?。?);????????exit(1);

3、????}????L->list?=?p;????/*?使list指向新線性表空間?*/????L->maxSize?=?2?*?L->maxSize;????/*?把線性表空間大小修改為新的長度?*/}/*?1.初始化線性表L,即進行動態(tài)存儲空間分配并置L為一個空表?*/void?initList(struct?List?*L,?int?ms){????/*?檢查ms是否有效,若無效的則退出運行?*/????if(ms?<=?0){????????printf("MaxSize非法!");????????exit(1);????/*?執(zhí)行此函數(shù)中止程序

4、運行,此函數(shù)在stdlib.h中有定義?*/????}????L->maxSize?=?ms;????/*?設置線性表空間大小為ms?*/????L->size?=?0;????L->list?=?malloc(ms?*?sizeof(elemType));????if(!L->list){????????printf("空間分配失?。?);????????exit(1);????}????return;}/*?2.清除線性表L中的所有元素,釋放存儲空間,使之成為一個空表?*/void?clearList(struct?List?*L){????if(L

5、->list?!=?NULL){????????free(L->list);????????L->list?=?0;????????L->size?=?L->maxSize?=?0;????}????return;}/*?3.返回線性表L當前的長度,若L為空則返回0?*/int?sizeList(struct?List?*L){????return?L->size;}/*?4.判斷線性表L是否為空,若為空則返回1,?否則返回0?*/int?emptyList(struct?List?*L){????if(L->size?==0){????????retu

6、rn?1;????}????else{????????return?0;????}}/*?5.返回線性表L中第pos個元素的值,若pos超出范圍,則停止程序運行?*/elemType?getElem(struct?List?*L,?int?pos){????if(pos?

7、

8、?pos?>?L->size){????/*?若pos越界則退出運行?*/????????printf("元素序號越界!");????????exit(1);????}????return?L->list[pos?-?1];????/*?返回線性表中序號為pos值的元素值?*

9、/}/*?6.順序掃描(即遍歷)輸出線性表L中的每個元素?*/void?traverseList(struct?List?*L){????int?i;????for(i?=?0;?i?size;?i++){????????printf("%d?",?L?->list[i]);????}????printf("");?????return;}/*?7.從線性表L中查找值與x相等的元素,若查找成功則返回其位置,否則返回-1?*/int?findList(struct?List?*L,?elemType?x){????int?i;????for(i?

10、=?0;?i?size;?i++){????????if(L->lis

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。