日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc

發(fā)布時(shí)間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

線性表的基本操作順序存儲(chǔ)(C語言)

#include#include#include#define LIST_INIT_SIZE/*線性表存儲(chǔ)空間初始分配量*/#define LISTINCREMENT/*線性表存儲(chǔ)空間分配增量*/#define ok? 1#define OVERFLOW? -1#define false? 0typedef struct {?ElemType *elem;/*存儲(chǔ)空間*/?int lenght;/*當(dāng)前線性表長度*/?int? listsize;/*當(dāng)前分配的存儲(chǔ)容量*/}SqList;

int InitList_Sq(SqList *L){? /*構(gòu)建空線性表*/? L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));/*分配存儲(chǔ)空間*/?if(!L->elem)exit(OVERFLOW);/*分配存儲(chǔ)空間失敗*/?L->lenght=0; /*初始化線性表長度為0*/?L->listsize=LIST_INIT_SIZE;/*初始存儲(chǔ)容量*/?return ok;}

int LenghtList_Sq(SqList *L){/*求線性表長度*/? return L->lenght;}int DestroyList_Sq(SqList *L)?

?{?? /*銷毀線性表*/?? free(L->elem);/*釋放存儲(chǔ)空間*/?? L->elem=NULL;/*線性表中元素為0*/?? L->length=0;/*線性表長度為0*/?? L->listsize=0;/*存儲(chǔ)空間為空*/?? return ok;

?}

int? ClearList(SqList *L)? {/*清零操作*/?? L->length=0;/*線性表長度為0*/? return ok;

}

int? ListEmpty(SqList *L)? {? /*判空操作*/? if(L.length=0)/*線性表長度為0*/?? return True;?else?return False;}

int ?GetElem(SqList *L,int i,ElemType *e)

{?? /*得到第I 個(gè)元素的數(shù)據(jù)元素的值*/?? if(i<1 || i>L.length)?? return false;?? e=*(L->elem+i-1);/*取第i個(gè)元素,并賦值給e*/?? return ok;}

int LocateElem(SqList *L,ElemType e,void (*compare)(ElemType,ElemType))

{? /*查找與E相等的元素的位置*/? ElemType *p;? i=1;? while(i<=L->length && !compare(*p++,e))/*判斷i所在位置*/? ++i;if(i<=L->length)return i;elsereturn 0;

}int PriorElem(SqList *L,ElemType cur_e,ElemType pre_e)?

{/*得到給出的數(shù)的前一個(gè)元素值*/? int i=2;? ElemType *p;? p=L->elem+1;? while(i<=L->length && !(*p++==cur_e))? ++i;? if(i>L->length)? return false;else

? {

?? pre_e=*--p;?? return OK;

? }

}

?int NextElem(SqList L,ElemType pre_e,ElemType cur_e)

{? /* 得到后一個(gè)元素的值*/? int i=1;? ElemType *p;?? p=L->elem;? while(ilength && !(*p++==pre_e))? ++i;? if(i>=L->length)? return false;else

? {

??? cur_e=*++p;??? return OK;

? }

}

?int InsertElem(SqList *L,int i,ElemType e)?

{? /*在第I個(gè)元素中插入一個(gè)值為E的元素*/? int newbase;? SqList *p,*q;?if(i<1 || i>=length+1)/*判斷i是否在線性表中*/?return ERROR;?if(L->length>=L->listsiz

總結(jié)

以上是生活随笔為你收集整理的线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。