freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

清華嚴(yán)蔚敏數(shù)據(jù)結(jié)構(gòu)資料的全部代碼實(shí)現(xiàn)c語(yǔ)言(完整版)

  

【正文】 int ElemType。j++) /* 在表Lb中插入5個(gè)元素 */ ListInsert(amp。j++) /* 在表La中插入5個(gè)元素 */ ListInsert(amp。 (*Lc).length=pc(*Lc).elem。 while(pa=pa_lastamp。 } void MergeList(SqList La,SqList Lb,SqList *Lc) { /* 另一種合并線性表的方法() */ ElemType *pa,*pa_last,*pb,*pb_last,*pc。 /* 輸出表Lc的內(nèi)容 */ ListTraverse(Lc,print)。j=5。j=5。 } while(pa=pa_last) /* 表La非空且表Lb空 */ *pc++=*pa++。/*不用InitList()創(chuàng)建空表Lc */ pc=(*Lc).elem=(ElemType *)malloc((*Lc).listsize*sizeof(ElemType))。 printf(Lc= )。 /* 創(chuàng)建空表Lb */ for(j=1。 /* 創(chuàng)建空表La */ for(j=1。 } while(j=Lb_len) /* 表Lb非空且表La空 */ { GetElem(Lb,j++,amp。bj)。 InitList(Lc)。La,Lb)。Lb)。La)。i++) { GetElem(Lb,i,amp。 else return FALSE。 int i。++p) /* 被刪除元素之后的元素左移 */ *(p1)=*p。 /* 表長(zhǎng)增1 */ return OK。 /* 存儲(chǔ)分配失敗 */ (*L).elem=newbase。 p++。 } if(i) return INFEASIBLE。 if(i=) return i。 } int LocateElem(SqList L,ElemType e,Status(*pare)(ElemType,ElemType)) { /* 初始條件:順序線性表L已存在,pare()是數(shù)據(jù)元素判定函數(shù)(滿足為1,否則為0) */ /* 操作結(jié)果:返回L中第1個(gè)與e滿足關(guān)系pare()的數(shù)據(jù)元素的位序。 } Status ListEmpty(SqList L) { /* 初始條件:順序線性表L已存在。操作結(jié)果:銷(xiāo)毀順序線性表L */ free((*L).elem)。 /* 當(dāng)前長(zhǎng)度 */ int listsize。 /* Boolean是布爾類(lèi)型,其值是TRUE或FALSE */ /* */ include typedef int ElemType。 /* 空表長(zhǎng)度為0 */ (*L).listsize=LIST_INIT_SIZE。 } Status ClearList(SqList *L) { /* 初始條件:順序線性表L已存在。 } Status GetElem(SqList L,int i,ElemType *e) { /* 初始條件:順序線性表L已存在,1≤i≤ListLength(L) */ /* 操作結(jié)果:用e返回L中第i個(gè)數(shù)據(jù)元素的值 */ if(i1||i) exit(ERROR)。 /* p的初值為第1個(gè)元素的存儲(chǔ)位置 */ while(i=amp。amp。 while(iamp。 if(i1||i(*L).length+1) /* i值不合法 */ return ERROR。p) /* 插入位置及之后的元素右移 */ *(p+1)=*p。 /* 被刪除元素的值賦給e */ q=(*L).elem+(*L).length1。amp。 printf(\n)。 /* 求線性表的長(zhǎng)度 */ Lb_len=ListLength(Lb)。 Status i。 printf(La= )。 printf(Lb= )。 */ /* 歸并La和Lb得到新的線性表Lc,Lc的數(shù)據(jù)元素也按值非遞減排列 */ int i=1,j=1,k=0。j=Lb_len) /* 表La和表Lb均非空 */ { GetElem(La,i,amp。 } } while(i=La_len) /* 表La非空且表Lb空 */ { GetElem(La,i++,amp。 int j,a[4]={3,5,8,11},b[7]={2,6,8,9,11,15,20}。 /* 輸出表La的內(nèi)容 */ ListTraverse(La,print)。 /* 輸出表Lb的內(nèi)容 */ ListTraverse(Lb,print)。 pa=。amp。 InitList(amp。 InitList(amp。 MergeList(La,Lb,amp。 else if(c1==c2) i=0。 if(!(*Lc).elem) exit(OVERFLOW)。 case 1: *pc++=*pb++。La)。Lb)。Lc)。 /* 另一種定義LinkList的方法 */ include/* 單鏈表線性表()的基本操作(12個(gè)) */ Status InitList(LinkList *L) { /* 操作結(jié)果:構(gòu)造一個(gè)空的線性表L */ *L=(LinkList)malloc(sizeof(struct LNode))。 *L=q。 } Lnext=NULL。 /* p指向第一個(gè)結(jié)點(diǎn) */ while(p) /* 沒(méi)到表尾 */ { i++。ji) /* 順指針向后查找,直到p指向第i個(gè)元素或p為空 */ { p=pnext。 while(p) { i++。 return OK。 } return INFEASIBLE。 } if(!p||ji1) /* i小于1或者大于表長(zhǎng) */ return ERROR。 LinkList p=L,q。 *e=qdata。 } printf(\n)。i0。 *L=(LinkList)malloc(sizeof(struct LNode))。pdata)。amp。 /* 插入剩余段 */ free(*Lb)。 /* 正位序輸入n個(gè)元素的值 */ printf(La=)。Lb,amp。 char Class[CLASSLEN+1]。 (*L)next=NULL。 } void InsertAscend(LinkList L,ElemType e) /* */ { /* 按學(xué)號(hào)非降序插入 */ LinkList q=L,p=Lnext。 } void Print(struct stud e) { /* 顯示記錄e的內(nèi)容 */ printf(%8s %6ld,)。 scanf(%s,ename)。 scanf(%d,amp。e,sizeof(struct stud),1,fp)。 if(*qamp。 } Status FindFromName(LinkList L,char name[],LinkList *p,LinkList *q) { /* 查找表中姓名為name的結(jié)點(diǎn),如找到,q指向此結(jié)點(diǎn),p指向q的前驅(qū), */ /* 并返回TRUE。 } Status DeleteElemNum(LinkList L,long num) { /* 刪除表中學(xué)號(hào)為num的元素,并返回TRUE;如無(wú)此元素,則返回FALSE */ LinkList p,q。 if(FindFromName(L,name,amp。 /* 顯示原內(nèi)容 */ printf(請(qǐng)輸入待修改項(xiàng)的內(nèi)容,不修改的項(xiàng)按回車(chē)鍵保持原值:\n)。 gets(s)。 printf(請(qǐng)輸入健康狀況(0:%s 1:%s 2:%s):,sta[0],sta[1],sta[2])。m39。 LinkList T,p,q。 printf(6:修改鏈表中第一個(gè)有給定學(xué)號(hào)的記錄\n)。 switch(i) { case 1: for(j=0。e)) InsertAscend(T,e)。 scanf(%ld,amp。 case 6: printf(請(qǐng)輸入待修改記錄的學(xué)號(hào): )。 if(q!=num) /* 學(xué)號(hào)被修改 */ { pnext=qnext。q)) printf(沒(méi)有姓名為%s的記錄\n,name)。 case 8: printf(請(qǐng)輸入待查找記錄的學(xué)號(hào): )。 case 9: printf(請(qǐng)輸入待查找記錄的姓名: )。 ListTraverse(T,Print)。 case 12:flag=0。 while(i) /* (a)的狀態(tài) */ { printf(%s ,s[i].data)。 while(i) /* (b)的狀態(tài) */ { printf(%s ,s[i].data)。 /* 回收結(jié)點(diǎn)的"游標(biāo)"指向備用鏈表的第一個(gè)結(jié)點(diǎn) */ space[0].cur=k。 } int InitList(SLinkList L) { /* 構(gòu)造一個(gè)空鏈表,返回值為空表在數(shù)組中的位序 */ int i。 /* 備用鏈表第一個(gè)結(jié)點(diǎn)的位置 */ L[0].cur=i。 } int ListLength(SLinkList L,int n) { /* 返回L中表頭位序?yàn)閚的鏈表的數(shù)據(jù)元素個(gè)數(shù) */ int j=0,i=L[n].cur。l++) /* 移動(dòng)i1個(gè)元素 */ k=L[k].cur。 return i。 return OK。 /* L不存在cur_e元素,cur_e元素?zé)o后繼 */ } Status ListInsert(SLinkList L,int n,int i,ElemType e) { /* 在L中表頭位序?yàn)閚的鏈表的第i個(gè)元素之前插入新的數(shù)據(jù)元素e */ int l,j,k=n。 L[k].cur=j。 j=L[k].cur。 /* 調(diào)用vi() */ i=L[i].cur。 /* 生成S的頭結(jié)點(diǎn) */ r=*S。j++) /* 建立集合A的鏈表 */ { i=Malloc(space)。 for(j=1。space[k].data!=b) { /* 在當(dāng)前表中查找 */ p=k。 if(r==k) r=p。 include include include void visit(ElemType c) { printf(%c ,c)。 } void main() { int k。 } if(k==space[r].cur) { /* 當(dāng)前表中不存在該元素,插入在r所指結(jié)點(diǎn)之后,且r的位置不變 */ i=Malloc(space)。j++) { /* 依次輸入B的元素,若不在當(dāng)前表中,則插入,否則刪除 */ scanf(%c,amp。space[i].data)。 scanf(%d,%d%*c,amp。 return OK。 *e=L[j].data。 } return ERROR。 j=Malloc(L)。 } Status NextElem(SLinkList L,int n,ElemType cur_e,ElemType *next_e) { /* 初始條件:在L中表頭位序?yàn)閚的靜態(tài)單鏈表已存在 */ /* 操作結(jié)果:若cur_e是此單鏈表的數(shù)據(jù)元素,且不是最后一個(gè), */ /* 則用next_e返回它的后繼,否則操作失敗,next_e無(wú)定義 */ int i。 /* i為鏈表第一個(gè)結(jié)點(diǎn)的位置 */ do { /* 向后移動(dòng)結(jié)點(diǎn) */ j=i。 return OK。 /* 指向下一個(gè)元素 */ j++。 i=L[i].cur。 /* 調(diào)用Malloc(),簡(jiǎn)化程序 */ L[i].cur=0。另加 */ { /* 將一維數(shù)組L中各分量鏈成一個(gè)備用鏈表,L[0].cur為頭指針。 /* 找到下一個(gè) */ } printf(\n)。 /* 找到下一個(gè) */ }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1