王道2.16胚迫、2.17、2.18

2.16

//兩個整數(shù)序列A=a1,a2,a3,...,am和B= b1,b2,b3,...,bn已經(jīng)存入兩個單鏈表中唾那,

#include <iostream>

#include <stdlib.h>

#include <stdio.h>

using namespace std;

typedef struct Lnode{

????int data;

????struct Lnode *next;

}Lnode,*LinkList;

void init_LinkList(LinkList &head){

????int x;

????head = (LinkList)malloc(sizeof(Lnode));

????head->next= NULL;

????Lnode *p,*r = head;

????cout<<"請輸入數(shù)字(-1結(jié)束):";

????cin>>x;

????while(x != -1){

????????p = (Lnode*)malloc(sizeof(Lnode));

????????p->next = r->next;

????????p->data = x;

????????r->next = p;

????????r= p;

????????cout<<"請輸入數(shù)字(-1結(jié)束):";

????????cin>>x;

????????}

}

//設(shè)計一個算法访锻,判斷序列B是否是序列A的連續(xù)子序列。

bool continuPartLinkList(LinkList A,LinkList B){

????if(A == NULL||B == NULL){

????????return false;

????}

????Lnode *p1 = A->next,*p2 = B->next;

????while(p1&&p2){

????????if(p1->data!=p2->data){

????????????p1 = p1->next;

????????????p2 = B->next;

????????}else{

????????????p1 = p1->next;

????????????p2 = p2->next;

????????}

????}

? ? ? if( p2 == NULL){

????????return true;

? ? ? ?}else{

????????return false;

????}

}

int main(){

????LinkList L1,L2;

????init_LinkList(L1);

????init_LinkList(L2);

????Lnode *p; p = L1->next;

????while(p != NULL){

????????cout<<p->data<<" ";

????????p = p->next;

????}

????cout<<endl;

????p = L2->next;

? ? while(p != NULL){

????????cout<<p->data<<" ";

????????p = p->next;

????}

????cout<<endl;

????bool flag = continuPartLinkList(L1,L2);

????if(flag==true){

????????cout<<"字符串B是字符串A的連續(xù)子串闹获。";

????}else{

????????cout<<"字符串B不是A的連續(xù)子串期犬。";

????}

}

2.17

//設(shè)計一個算法用于判斷帶頭結(jié)點的循環(huán)雙聯(lián)表是否對稱避诽。

#include <iostream>

#include <stdlib.h>

#include <stdio.h>

using namespace std;

typedef struct Lnode{

????int data;

????struct Lnode *pre;

????struct Lnode *next;

}Lnode,*LinkList;

void init_LinkList(LinkList &head){

????int x;

????head = (LinkList)malloc(sizeof(Lnode));

????head->next= NULL;

????head->pre = NULL;

????Lnode *p,*r= head;

????cout<<"請輸入數(shù)字(-1結(jié)束):";

????cin>>x;

????while(x != -1){

????????p = (Lnode*)malloc(sizeof(Lnode));? ?

????????p->next = r->next;

? ? ? ? p->pre = r;

????????p->data = x;

????????r->next = p;

????????r= p;

????????cout<<"請輸入數(shù)字(-1結(jié)束):";

????????cin>>x;

????}

????head->pre = r;

????r->next = head;

}

//判斷雙聯(lián)表是否對稱

bool is_symm(LinkList L){

????Lnode *p=L->next,*q=L->pre;//p指向第一個結(jié)點沙庐,q指向最后一個結(jié)點

????while(p != q){

????????if(p->data == q->data){

????????????p = p->next;

????????????q = q->pre;

? ? ? ????}else{

????????????break;

????????}

????}

????if(p == q){

????????return true;

????}else{

????????return false;

????}

}

int main(){

????LinkList L,p;

????init_LinkList(L);

????p = L->next;

????while(p != L){

????????cout<<p->data<<" ";

????????p = p->next;

????}

????bool flag = is_symm(L);

????if(flag){

????????cout<<"循環(huán)雙鏈表對稱";

????}else{

????????cout<<"循環(huán)雙鏈表不對稱";

????}

}

2.18

//有兩個循環(huán)單鏈表,鏈表頭指針分為h1和h2棉安,

//編寫一個函數(shù)兩鏈表h2鏈接到鏈表h1之后,

//要求鏈接后的鏈表仍保持循環(huán)鏈表的形式

#include <iostream>

#include <stdlib.h>

#include <stdio.h>

using namespace std;

typedef struct Lnode{

????int data;

????struct Lnode *next;

}Lnode,*LinkList;

void init_LinkList(LinkList &head){

????int x;

????head = (LinkList)malloc(sizeof(Lnode));

????head->next= NULL;

????Lnode *p,*r= head;

????cout<<"請輸入數(shù)字(-1結(jié)束):";

????cin>>x;

????while(x != -1){

????????p = (Lnode*)malloc(sizeof(Lnode));? ?

????????p->next = r->next;

????????p->data = x;

????????r->next = p;

????????r= p;

????????cout<<"請輸入數(shù)字(-1結(jié)束):";

????????cin>>x;

? ????? ?}

????????r->next = head;

????}

void link_LinkList(LinkList &h1,LinkList &h2){

????LinkList p1 = h1->next,p2 = h2->next;

????while(p1->next != h1){

????????p1 = p1->next;

????}

????p1->next = p2;

????free(h2);

????while(p2->next != h2){

????????p2 = p2->next;

????}

? ????? p2->next = h1;

}

int main(){

????LinkList h1,h2,p;

????init_LinkList(h1);

????init_LinkList(h2);

????p = h1->next;

????while(p != h1){

????????cout<<p->data<<" ";

????????p = p->next;

????}

????cout<<endl;

????p = h2->next;

????while(p != h2){

????????cout<<p->data<<" ";

????????p = p->next;

????}

????cout<<endl;

????link_LinkList(h1,h2);

????p = h1->next;

????while(p != h1){

????????cout<<p->data<<" ";

????????p = p->next;

????}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菇爪,隨后出現(xiàn)的幾起案子柒昏,更是在濱河造成了極大的恐慌,老刑警劉巖职祷,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件有梆,死亡現(xiàn)場離奇詭異,居然都是意外死亡泥耀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門兜辞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夸溶,“玉大人,你說我怎么就攤上這事扫皱。” “怎么了韩脑?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵胎食,是天一觀的道長。 經(jīng)常有香客問我衩匣,道長,這世上最難降的妖魔是什么琅捏? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蚀浆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘市俊。我一直安慰自己滤奈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布绅你。 她就那樣靜靜地躺著,像睡著了一般忌锯。 火紅的嫁衣襯著肌膚如雪领炫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天针史,我揣著相機(jī)與錄音,去河邊找鬼啄枕。 笑死,一個胖子當(dāng)著我的面吹牛频祝,可吹牛的內(nèi)容都是我干的脆淹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼漓糙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昆禽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤醉鳖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后壮韭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡喷屋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年逼蒙,在試婚紗的時候發(fā)現(xiàn)自己被綠了寄疏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片僵井。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖农曲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乳规,我是刑警寧澤合呐,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站淌实,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拆祈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一咙咽、第九天 我趴在偏房一處隱蔽的房頂上張望淤年。 院中可真熱鬧蜡豹,春花似錦、人聲如沸余素。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凤巨。三九已至,卻和暖如春佑淀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背彰檬。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工逢倍, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人较雕。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像扣典,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贮尖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容