版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、;第2章 線性表2.1選擇題1對(duì)于線性表最常用的操作是查找指定序號(hào)的元素和在末尾插入元素,則選擇( )最節(jié)省時(shí)間 A)順序表 B)帶頭結(jié)點(diǎn)的雙循環(huán)鏈表 C)單鏈表 D)帶尾結(jié)點(diǎn)的單循環(huán)鏈表 【答案】A 2若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法時(shí)間復(fù)雜度為()(1in+1)。 A) O(0) B) O(1) C) O(n) D) O(n2) 【答案】C 3雙向鏈表中有兩個(gè)指針域,prior和next,分別指向前驅(qū)及后繼,設(shè)p指向鏈表中的一個(gè)結(jié)點(diǎn),q指向一待插入結(jié)點(diǎn),現(xiàn)要求在p前插入q,則正確的插入為( ) A) p->prior=q; q->next=
2、p; p->prior->next=q; q->prior=p->prior; B) q->prior=p->prior; p->prior->next=q; q->next=p; p->prior=q->next; C) q->next=p; p->next=q; p->prior->next=q; q->next=p; D) p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q; 【答案】D 4在
3、一個(gè)具有n個(gè)結(jié)點(diǎn)的有序單鏈表中插入一個(gè)新結(jié)點(diǎn)并仍然保持有序的時(shí)間復(fù)雜度是( ) A)O(nlog2n) B) O(1) C) O(n) D) O(n2) 【答案】C 5 在一個(gè)以 h 為頭指針的單循環(huán)鏈中,p 指針指向鏈尾結(jié)點(diǎn)的條件是( ) A)p->next=NULL B) p->next=h C)p->next->next=h D) p->data=-1 【答案】B 6對(duì)于一個(gè)具有n個(gè)結(jié)點(diǎn)的線性表,建立其單鏈表的時(shí)間復(fù)雜度是() A)O(n) B) O(1) C)O(nlog2n) D) O(n2) 【答案】A 8在雙向鏈表存儲(chǔ)結(jié)構(gòu)中,刪除p所指的結(jié)點(diǎn)時(shí)須修改
4、指針() A)p->prior->next=p->next p->next->prior=p->prior; B)p->prior=p->prior->prior p->prior->next=p; C)p->next->prior=p p->next=p->next->next D)p->next=p->prior->prior p->prior=p->next->next; 【答案】A 9線性表采用鏈?zhǔn)酱鎯?chǔ)時(shí),其元素地址() A)必須是連續(xù)的 B)一定是不連續(xù)
5、的 C)部分地址是連續(xù)的 D)連續(xù)與否均可 【答案】D 2.2填空題1線性表L=(a1,a2,an)用數(shù)組表示,假定刪除表中任一元素的概率相同,則刪除一個(gè)元素平均需要移動(dòng)元素的個(gè)數(shù)是_。 【答案】(n-1)/2 2在單鏈表中設(shè)置頭結(jié)點(diǎn)的作用是_。 【答案】主要是使插入和刪除等操作統(tǒng)一,在第一個(gè)元素之前插入元素和刪除第一個(gè)結(jié)點(diǎn)不必另作判斷。另外,不論鏈表是否為空,鏈表頭指針不變。 3線性表的順序存儲(chǔ)是通過(guò)_來(lái)反應(yīng)元素之間的邏輯關(guān)系,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是通過(guò)_來(lái)反應(yīng)元素之間的邏輯關(guān)系。 【答案】(1)數(shù)據(jù)元素的前后順序 (2)元素中的指針 4當(dāng)對(duì)一個(gè)線性表經(jīng)常進(jìn)行的是存取操作,而很少進(jìn)行插入和刪除操作
6、時(shí),則采用_存儲(chǔ)結(jié)構(gòu)最節(jié)省時(shí)間,相反當(dāng)經(jīng)常進(jìn)行插入和刪除操作時(shí),則采用_存儲(chǔ)結(jié)構(gòu)最節(jié)省時(shí)間。 【答案】(1)順序 (2)鏈?zhǔn)?5對(duì)于一個(gè)具有n個(gè)結(jié)點(diǎn)的單鏈表,在已知的結(jié)點(diǎn)*p后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為_(kāi),在給定值為x的結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為_(kāi)。 【答案】(1)O(1) (2)O(n) 7. 對(duì)于雙向鏈表,在兩個(gè)結(jié)點(diǎn)之間插入一個(gè)新結(jié)點(diǎn)需修改的指針共_個(gè),單鏈表為_(kāi)個(gè)。 【答案】(1)4 (2)2 8. 循環(huán)單鏈表的最大優(yōu)點(diǎn)是_。 【答案】從任一結(jié)點(diǎn)出發(fā)都可訪問(wèn)到鏈表中每一個(gè)元素。 9若要在一個(gè)不帶頭結(jié)點(diǎn)的單鏈表的首結(jié)點(diǎn)*p結(jié)點(diǎn)之前插入一個(gè)*s結(jié)點(diǎn)時(shí),可執(zhí)行下列操作: s->
7、next=_; p->next=s; t=p->data; p->data= _; s->data=_; 【答案】(1)p->next (2)s->data (3) t 10某線性表采用順序存儲(chǔ)結(jié)構(gòu),每個(gè)元素占據(jù)4個(gè)存儲(chǔ)單元,首地址為100,則下標(biāo)為11的(第12個(gè))元素的存儲(chǔ)地址為_(kāi)。 【答案】144 11帶頭結(jié)點(diǎn)的雙循環(huán)鏈表L中只有一個(gè)元素結(jié)點(diǎn)的條件是_。 【答案】L->next->next=L 2.3 判斷題1取線性表的第i個(gè)元素的時(shí)間同i的大小有關(guān)() 【答案】× 2線性表的特點(diǎn)是每個(gè)元素都有一個(gè)前驅(qū)和一個(gè)后繼() 【答案】
8、215; 3 順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高() 【答案】× 4線性表采用鏈表存儲(chǔ)時(shí),結(jié)點(diǎn)的存儲(chǔ)空間可以是不連續(xù)的() 【答案】 5鏈表是采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的線性表,進(jìn)行插入、刪除操作時(shí),在鏈表中比在順序存儲(chǔ)結(jié)構(gòu)中效率高() 【答案】 6順序存儲(chǔ)方式只能用于存儲(chǔ)線性結(jié)構(gòu)() 【答案】× 【解析】線性結(jié)構(gòu)、樹(shù)型結(jié)構(gòu)和圖狀結(jié)構(gòu)均可用順序存儲(chǔ)表示。 9順序存儲(chǔ)結(jié)構(gòu)的主要缺點(diǎn)是不利于插入或刪除操作() 【答案】 10順序存儲(chǔ)方式插入和刪除時(shí)效率太低,因此它不如鏈?zhǔn)酱鎯?chǔ)方式好() 【答案】× 2.4程序設(shè)計(jì)題1設(shè)順序表va中的數(shù)據(jù)元素遞增有序。試設(shè)計(jì)一
9、個(gè)算法,將x插入到順序表的適當(dāng)位置上,以保持該表的有序性。 【算法源代碼】 void Insert_SqList(SqList va,int x)/*把x插入遞增有序表va中*/ int i; if(va.length> MAXSIZE) return; for(i=va.length-1;va.elem>x&&i>=0;i-) va.elemi+1=va.elem; va.elemi+1=x; va.length+;/*Insert_SqList*/ 2設(shè) A=(a1,a2,am) 和 B=(b1,b2,bn)均為順序表,試設(shè)計(jì)一個(gè)比較A,B大小的算法(請(qǐng)注
10、意:在算法中,不要破壞原表A和B)。 【算法分析】比較順序表A和B,并用返回值表示結(jié)果,值為1,表示A>B;值為-1,表示A<B;值為0,表示A=B。 1)當(dāng)兩個(gè)順序表可以互相比較時(shí),若對(duì)應(yīng)元素不等,則返回值為1或-1; 2)當(dāng)兩個(gè)順序表可以互相比較的部分完全相同時(shí),若表長(zhǎng)也相同,則返回值為0;否則,哪個(gè)較長(zhǎng),哪個(gè)就較大 【算法源代碼】int ListComp(SqList A,SqList B) for(i=1;i<=A.length&&i<=B.length;i+) if(A.elem!=B.elem) return A.elem>B.elem
11、?1:-1; if(A.length=B.length) return 0; return A.length>B.length?1:-1; /*當(dāng)兩個(gè)順序表可以互相比較的部分完全相同時(shí),哪個(gè)較長(zhǎng),哪個(gè)就較大*/*ListComp */3已知指針 ha和 hb分別指向兩個(gè)單鏈表的頭結(jié)點(diǎn),并且已知兩個(gè)鏈表的長(zhǎng)度分別為m和n。試設(shè)計(jì)一個(gè)算法將這兩個(gè)鏈表連接在一起(即令其中一個(gè)表的首元結(jié)點(diǎn)連在另一個(gè)表的最后一個(gè)結(jié)點(diǎn)之后),假設(shè)指針hc指向連接后的鏈表的頭結(jié)點(diǎn),并要求算法以盡可能短的時(shí)間完成連接運(yùn)算。 【算法分析】 1)單鏈表ha的頭結(jié)點(diǎn)作為連接后的鏈表的頭結(jié)點(diǎn),即hc=ha; 2)查找單鏈表ha
12、的最后一個(gè)結(jié)點(diǎn),由指針p指向,即p->next=NULL; 3)將單鏈表hb的首元結(jié)點(diǎn)(非頭結(jié)點(diǎn))連接在p之后,即p->next=hb->next; 4)回收單鏈表hb的頭結(jié)點(diǎn)空間 【算法源代碼】 void ListConcat(LinkList ha,LinkList hb,LinkList *hc)/*把鏈表hb接在ha后面形成鏈表hc*/ *hc=ha; p=ha;/*由指針p指向ha的尾元結(jié)點(diǎn)*/ p=p->next; p->next=hb->next; free(hb);/*ListConcat */4試設(shè)計(jì)一個(gè)算法,在無(wú)頭結(jié)點(diǎn)的動(dòng)態(tài)單鏈表上實(shí)現(xiàn)線
13、性表操作INSERT(L,i,b),并和在帶頭結(jié)點(diǎn)的動(dòng)態(tài)單鏈表上實(shí)現(xiàn)相同操作的算法進(jìn)行比較。 【算法分析】 1)生成新結(jié)點(diǎn)存放元素b,由指針new指向; 2)將new插入在單鏈表的第i個(gè)元素的位置上:若i=1,new插在鏈表首部;否則查找第i-1個(gè)結(jié)點(diǎn),由指針p指向,然后將new插在p之后。 【算法源代碼】 void Insert(LinkList *L,int i,int b) LinkList new; new=(LinkList*)malloc(sizeof(LNode); new->data=b; if(i=1) /*插入在鏈表頭部*/ New->next=*L; *L=n
14、ew; else /*插入在第i個(gè)元素的位置*/ p=*L; while(-i>1) p=p->next; new->next=p->next;p->next=new; /*Insert */5已知線性表中的元素以值遞增有序排列,并以單鏈表作存儲(chǔ)結(jié)構(gòu)。試設(shè)計(jì)一個(gè)高效的算法,刪除表中所有值大于 mink且小于 maxk的元素(若表中存在這樣的元素),同時(shí)釋放被刪結(jié)點(diǎn)空間(注意:mink和maxk是給定的兩個(gè)參變量。它們的值可以和表中的元素相同,也可以不同)。 【算法分析】 1)查找最后一個(gè)不大于mink的元素結(jié)點(diǎn),由指針p指向; 2)如果還有比mink更大的元素,查
15、找第一個(gè)不小于maxk的元素,由指針q指向; 3)p->next=q,即刪除表中所有值大于 mink且小于 maxk的元素。 【算法源代碼】 void Delete_Between(LinkList *L,int mink,int maxk) p=*L; while(p->next->data<=mink) p=p->next; /*p是最后一個(gè)不大于mink的元素*/ if(p->next) /*如果還有比mink更大的元素*/ q=p->next; while(q->data<maxk) q=q->next; /*q是第一個(gè)不小于
16、maxk的元素*/ p->next=q; /*Delete_Between */ 6已知線性表中的元素以值遞增有序排列,并以單鏈表作存儲(chǔ)結(jié)構(gòu)。試設(shè)計(jì)一個(gè)高效的算法,刪除表中所有值相同的多余元素(使得操作后的線性表中所有元素的值均不相同),同時(shí)釋放被刪結(jié)點(diǎn)空間。 【算法分析】 1)初始化指針p和q,分別指向鏈表中相鄰的兩個(gè)元素; 2)當(dāng)p->next不為空時(shí),做如下處理: 若相鄰兩元素不相等時(shí),p和q都向后推一步; 否則,當(dāng)相鄰元素相等時(shí),刪除多余元素。 【算法源代碼】 void Delete_Equal(LinkList *L) p=(*L)->next;q=p->ne
17、xt; /*p和q指向相鄰的兩個(gè)元素*/ while(p->next) if(p->data!=q->data) /*若相鄰兩元素不相等時(shí),p和q都向后推一步*/ p=p->next; q=p->next; else while(q->data=p->data) /*當(dāng)相鄰元素相等時(shí)刪除多余元素*/ r=q; q=q->next; free(r); p->next=q;p=q;q=p->next; /*else*/ /*while*/*Delete_Equal */7試設(shè)計(jì)一個(gè)算法,對(duì)帶頭結(jié)點(diǎn)的單鏈表實(shí)現(xiàn)就地逆置。 【算法分析】 1)
18、空表或長(zhǎng)度為1的表,不做任何處理; 2)表長(zhǎng)大于2時(shí),做如下處理: 首先將整個(gè)鏈表一分為二,即從鏈表的第一元素結(jié)點(diǎn)處斷開(kāi); 逐個(gè)地把剩余鏈表的當(dāng)前元素q插入到鏈表的頭部。 【算法源代碼】 void LinkList_reverse(LinkList L) if(!L->next|!L->next->next) return; p=L->next; q=p->next; s=q->next; p->next=NULL; /*從鏈表的第一元素結(jié)點(diǎn)處斷開(kāi)*/ while(s->next) q->next=p;p=q; q=s;s=s->ne
19、xt; /*把L的元素逐個(gè)插入新表表頭*/ q->next=p;s->next=q;L->next=s;/*LinkList_reverse*/8設(shè)線性表A=(a1,a2,am) 和 B=(b1,b2,bn),試設(shè)計(jì)一個(gè)按下列規(guī)則合并A,B為線性表C的算法,即使得 C=(a1,b1,am,bm,bm+1 ,bn )當(dāng) mn時(shí); 或者 C=(a1,b1,an,bn,an+1 ,am )當(dāng)mn時(shí)。 線性表A,B和C均以單鏈表作存儲(chǔ)結(jié)構(gòu),且C表利用A表和B表中的結(jié)點(diǎn)空間構(gòu)成。注意:?jiǎn)捂湵淼拈L(zhǎng)度值m和n均未顯式存儲(chǔ)。 【算法分析】 1)初始化指針p指向鏈表A的當(dāng)前元素,指針q指向鏈表
20、B的當(dāng)前元素; 2)當(dāng)鏈表A和B均為結(jié)束時(shí),做如下處理: 將B的元素插入 若A非空,將A的元素插入 指針p和q同時(shí)后移 【算法源代碼】 void merge1(LinkList A,LinkList B,LinkList *C) p=A->next;q=B->next;*C=A; while(p&&q) s=p->next;p->next=q; /*將B的元素插入*/ if(s) t=q->next; q->next=s; /*若A非空,將A的元素插入*/ p=s;q=t; /*指針p和q同時(shí)后移*/ /*while*/*merge1 */9
21、假設(shè)有兩個(gè)按元素值遞增有序排列的線性表A和B,均以單鏈表作存儲(chǔ)結(jié)構(gòu),請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法將A表和B表歸并成一個(gè)按元素值遞減有序(即非遞增有序,允許表中含有值相同的元素)排列的線性表C,并要求利用原表(即 A表和B表)的結(jié)點(diǎn)空間構(gòu)造C表。 【算法分析】按從小到大的順序依次把A和B的元素插入新表的頭部pc處,最后處理A或B的剩余元素。 【算法源代碼】 void reverse_merge(LinkList A,LinkList B,LinkList *C) LinkList pa,pb,pre; pa=A->next;pb=B->next; /*pa和pb分別指向A和B的當(dāng)前元素*/ pre
22、=NULL; while(pa|pb) if(pa->data<pb->data|!pb) /*將A的元素插入新表*/ pc=pa;q=pa->next;pa->next=pre;pa=q; else /*將B的元素插入新表*/ pc=pb;q=pb->next;pb->next=pre;pb=q; pre=pc; *C=A; A->next=pc; /*構(gòu)造新表頭*/*reverse_merge*/10已知A,B和C為三個(gè)遞增有序的線性表,現(xiàn)要求對(duì)A表作如下操作:刪去那些既在B表中出現(xiàn)又在C表中出現(xiàn)的元素。試對(duì)順序表編寫(xiě)實(shí)現(xiàn)上述操作的算法,并分
23、析你的算法的時(shí)間復(fù)雜度(注意:題中沒(méi)有特別指明同一表中的元素值各不相同)。 【算法分析】先從B和C中找出共有元素,記為same,再在A中從當(dāng)前位置開(kāi)始, 凡小于same的元素均保留(存到新的位置),等于same的就跳過(guò),到大于same時(shí)就再找下一個(gè)same。 【算法源代碼】 void SqList_Intersect_Delete(SqList *A,SqList B,SqList C) i=0; j=0; k=0; m=0; /*i指示A中元素原來(lái)的位置,m為移動(dòng)后的位置*/ while(i<(*A).length&&j<B.length&& k&
24、lt;C.length) if (B.elemj<C.elemk) j+; else if(B.elemj>C.elemk) k+; else same=B.elemj; /*找到了相同元素same*/ while(B.elemj=same) j+; while(C.elemk=same) k+; /*j和k后移到新的元素*/ while(i<(*A).length&&(*A).elem<same) (*A).elemm+=(*A).elemi+; /*需保留的元素移動(dòng)到新位置*/ while(i<(*A).length&&(*A)
25、.elem=same) i+; /*跳過(guò)相同的元素*/ /*while*/ while(i<(*A).length) (*A).elemm+=(*A).elemi+; /*A的剩余元素重新存儲(chǔ)*/ (*A).length=m; /* SqList_Intersect_Delete*/11設(shè)L為單鏈表的頭結(jié)點(diǎn)地址,其數(shù)據(jù)結(jié)點(diǎn)的數(shù)據(jù)都是正整數(shù)且無(wú)相同的,試設(shè)計(jì)利用直接插入的原則把該鏈表整理成數(shù)據(jù)遞增的有序單鏈表的算法。 【算法分析】本題明確指出單鏈表帶頭結(jié)點(diǎn),其結(jié)點(diǎn)數(shù)據(jù)是正整數(shù)且不相同,要求利用直接插入原則把鏈表整理成遞增有序鏈表。這就要求從第二結(jié)點(diǎn)開(kāi)始,將各結(jié)點(diǎn)依次插入到有序鏈表中。 【算
26、法源代碼】 void InsertSort (LinkList la) if(la->next!=NULL) /*鏈表不為空表*/ p=la->next->next; /*p指向第一結(jié)點(diǎn)的后繼*/ la->next->next=NULL; /*直接插入原則認(rèn)為第一元素有序,然后從第二元素起依次插入*/ while (p!=NULL) r=p->next;/*暫存p的后繼*/ q=la; while (q->next!=NULL&&q->next->data<p->data) q=q->next;/*查找插入
27、位置*/ p->next=q->next;/*將p結(jié)點(diǎn)鏈入鏈表*/ q->next=p; p=r;12設(shè)有一個(gè)雙向循環(huán)鏈表,每個(gè)結(jié)點(diǎn)中除有 prior,data和 next三個(gè)域外,還增設(shè)了一個(gè)訪問(wèn)頻度域freq。在鏈表被起用之前,頻度域freq的值均初始化為零,而每當(dāng)對(duì)鏈表進(jìn)行一次LOCATE(L,X)的操作后,被訪問(wèn)的結(jié)點(diǎn)(元素值等于X的結(jié)點(diǎn))中的頻度域freq的值便增1,同時(shí)調(diào)整鏈表中結(jié)點(diǎn)之間的次序,使其按訪問(wèn)頻度非遞增的次序順序排列,以便始終保持被頻繁訪問(wèn)的結(jié)點(diǎn)總是靠近表頭結(jié)點(diǎn)。試編寫(xiě)符合上述要求的 LOCATE操作的算法。 【算法分析】 1)在雙向鏈表中查找數(shù)據(jù)值為
28、x的結(jié)點(diǎn),由指針p指向,若找不到,直接返回,否則執(zhí)行第2步; 2)修改x結(jié)點(diǎn)的訪問(wèn)頻度f(wàn)req,并將結(jié)點(diǎn)從鏈表上摘下; 3)順結(jié)點(diǎn)的前驅(qū)鏈查找該結(jié)點(diǎn)的位置,即找到一個(gè)結(jié)點(diǎn)的訪問(wèn)頻度大于x結(jié)點(diǎn)的訪問(wèn)頻度,由指針q指向;若q和p不是相鄰結(jié)點(diǎn),調(diào)整位置,把p插在q之后。 【算法源代碼】 DuLNode * Locate_DuList(DuLinkList *L,int x) p=(*L)->next; while(p.data!=x&&p!= (*L) p=p->next; if(p=(*L) return NULL; /*沒(méi)找到x結(jié)點(diǎn)*/ p->freq+; p-
29、>pre->next=p->next;p->next->pre=p->pre; /*將x結(jié)點(diǎn)從鏈表上摘下*/ q=p->pre; while(q->freq<=p->freq&&p!= (*L) q=q->pre; /*查找插入位置*/ if(q!=p->pre) /*將x結(jié)點(diǎn)插入*/ q->next->pre=p; p->next=q->next; q->next=p;p->preq; /*調(diào)整位置*/ return p;/*Locate_DuList */13已知三個(gè)
30、帶頭結(jié)點(diǎn)的線性鏈表A、B和C中的結(jié)點(diǎn)均依元素值自小至大非遞減排列(可能存在兩個(gè)以上值相同的結(jié)點(diǎn)),編寫(xiě)算法對(duì)A表進(jìn)行如下操作:使操作后的鏈表A中僅留下三個(gè)表中均包含的數(shù)據(jù)元素的結(jié)點(diǎn),且沒(méi)有值相同的結(jié)點(diǎn),并釋放所有無(wú)用結(jié)點(diǎn)。限定算法的時(shí)間復(fù)雜度為O(m+n+p),其中m、n和p分別為三個(gè)表的長(zhǎng)度。 【算法分析】留下三個(gè)鏈表中公共數(shù)據(jù),首先查找兩表A和B中公共數(shù)據(jù),再去C中找有無(wú)該數(shù)據(jù)。要消除重復(fù)元素,應(yīng)記住前驅(qū),要求時(shí)間復(fù)雜度O(m+n+p),在查找每個(gè)鏈表時(shí),指針不能回溯。 【算法源代碼】 LinkList Common(LinkList A, LinkList B, LinkList C)
31、pa=A->next;pb=B->next; pc=C->next; /*pa,pb和pc是工作指針*/ pre=A; while(pa && pb && pc) /*當(dāng)三表均不空時(shí),查找共同元素*/ while(pa && pb) if(pa->data<pb->data) /*處理pa結(jié)點(diǎn),后移指針*/ u=pa;pa=pa->next;free(u); else if(pa->data> pb->data)pb=pb->next; else if (pa &&
32、 pb) /*處理A和B表元素值相等的結(jié)點(diǎn)*/ while(pc && pc->data<pa->data) pc=pc->next; if(pc) if(pc->data>pa->data) /*處理pa結(jié)點(diǎn),后移指針*/ u=pa;pa=pa->next;free(u); else if(pre=A) /*結(jié)果表中第一個(gè)結(jié)點(diǎn)*/ pre->next=pa;pre=pa;pa=pa->next else if(pre->data=pa->data) /*重復(fù)結(jié)點(diǎn)不鏈入A表*/ u=pa;pa=pa->next;free(u); else pre->next=pa;pre=pa;pa=pa->next;/*將新結(jié)點(diǎn)鏈入A表 */ pb=pb->next;pc=pc->next; /* 鏈表的工作指針后移*/ else if(pa=NULL)pre->next=NULL; /*若A表已結(jié)束,置A表表尾*/ el
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《中醫(yī)養(yǎng)生學(xué)》課件
- 《管理心理學(xué)EA》課件
- 2024年教育培訓(xùn)合同(標(biāo)的:000人次教育培訓(xùn)服務(wù))
- 靜脈治療相關(guān)血管解剖結(jié)構(gòu)與生理
- 公司轉(zhuǎn)讓股權(quán)合同書(shū)(32篇)
- 小班體育《烏龜爬》教案7篇
- 汽車(chē)市場(chǎng)部年度工作計(jì)劃
- 物聯(lián)網(wǎng)對(duì)物流的影響
- 掌握磁場(chǎng)基礎(chǔ)知識(shí)模板
- 宣傳牌訂做合同范例
- 健康教育學(xué)【完整版】
- 近代笛簫制作師承
- 空調(diào)系統(tǒng)設(shè)計(jì)規(guī)范及標(biāo)準(zhǔn)(全)
- 《社會(huì)醫(yī)學(xué)》課件11健康危險(xiǎn)因素評(píng)價(jià)
- DB34T 3826-2021 保溫板外墻外保溫工程技術(shù)標(biāo)準(zhǔn) (1)
- 實(shí)驗(yàn)二、軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)
- 病原微生物實(shí)驗(yàn)室生物安全備案專(zhuān)家意見(jiàn)表
- 蟲(chóng)害控制培訓(xùn)完整版
- 高中音樂(lè)“歌唱”模塊教學(xué)研修(一)
- 無(wú)閥濾池工作原理
- 鋼結(jié)構(gòu)廠房施工方案(屋面板及墻板)
評(píng)論
0/150
提交評(píng)論