2020-07-18(C語言)數(shù)據(jù)結(jié)構(gòu)-將一個(gè)帶頭結(jié)點(diǎn)的單鏈表A分解為兩個(gè)帶頭結(jié)點(diǎn)單鏈表A和B,使得A表中含有原表中序號為奇數(shù)元素淋样,而B表中含有原表中序號為偶數(shù)的元素耗式,且保持其相對順序不變。

//將一個(gè)帶頭結(jié)點(diǎn)的單鏈表A分解為兩個(gè)帶頭結(jié)點(diǎn)單鏈表A和B趁猴,使得A表中含有原表中序號為奇數(shù)元素刊咳,而B表中含有原表中序號為偶數(shù)的元素,且保持其相對順序不變儡司。

include <stdio.h>

include <stdlib.h>

typedef struct LNode
{
int data;
struct LNode *next;
} LNode, *LinkList;
LinkList List_TailInsert(LinkList L)
{
int x; //設(shè)元素類型為整型
L = (LinkList)malloc(sizeof(LNode));
LNode *s, *r = L; //r為表尾指針
printf("請輸入表元素(以999結(jié)尾):");
scanf("%d", &x); //輸入結(jié)點(diǎn)的值
while (x != 999) //輸入999表示結(jié)束
{
s = (LNode *)malloc(sizeof(LNode));
s->data = x;
r->next = s;
r = s; //r指向新的表尾結(jié)點(diǎn)
scanf("%d", &x);
}
r->next = NULL; //尾結(jié)點(diǎn)指針置空
return L;
}
void print(LinkList L)
{
while (L->next != NULL)
{
L = L->next;
printf("%d ", L->data);
}
}
LinkList DisCreat_1(LinkList A) //將表中結(jié)點(diǎn)按序號的奇偶性分解到表A或表B中
{
int i = 0; //i記錄A中結(jié)點(diǎn)的序號
LNode *B, *p;
B = (LinkList)malloc(sizeof(LNode)); //創(chuàng)建B表表頭
B->next = NULL; //B表的初始化
LNode *ra = A, *rb = B; //ra和rb將分別指向?qū)?chuàng)建的A表和B表的尾結(jié)點(diǎn)
p = A->next; //p為鏈表工作指針娱挨,指向待分解的結(jié)點(diǎn)
A->next = NULL; //置空新的A表
while (p != NULL)
{
i++; //序號加1
if (i % 2 == 0) //處理序號為偶數(shù)的鏈表結(jié)點(diǎn)
{
rb->next = p; //在B表尾插入新的尾結(jié)點(diǎn)
rb = p; //rb指向新的尾結(jié)點(diǎn)
}
else
{
ra->next = p; //處理原序號為奇數(shù)結(jié)點(diǎn)
ra = p; //在A表尾插入新結(jié)點(diǎn)
}
p = p->next; //將p恢復(fù)為指向新的待處理結(jié)點(diǎn)
}
ra->next = NULL;
rb->next = NULL;
return B;
}
int main()
{
LinkList L, A, B;
LNode *p;
int e, i;
A = (LinkList)malloc(sizeof(LNode));
A = List_TailInsert(L);
printf("尾插法建立的單鏈表:");
print(A);
printf("\n");
B = DisCreat_1(A);
print(A);
printf("\n");
print(B);
printf("\n");
return 0;
}
//運(yùn)行結(jié)果:


WX20200718-123259.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捕犬,隨后出現(xiàn)的幾起案子跷坝,更是在濱河造成了極大的恐慌,老刑警劉巖碉碉,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柴钻,死亡現(xiàn)場離奇詭異,居然都是意外死亡垢粮,警方通過查閱死者的電腦和手機(jī)顿颅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粱腻,你說我怎么就攤上這事庇配。” “怎么了绍些?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵捞慌,是天一觀的道長。 經(jīng)常有香客問我柬批,道長啸澡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任氮帐,我火速辦了婚禮嗅虏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘上沐。我一直安慰自己皮服,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布参咙。 她就那樣靜靜地躺著龄广,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蕴侧。 梳的紋絲不亂的頭發(fā)上择同,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機(jī)與錄音净宵,去河邊找鬼敲才。 笑死,一個(gè)胖子當(dāng)著我的面吹牛择葡,可吹牛的內(nèi)容都是我干的紧武。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼刁岸,長吁一口氣:“原來是場噩夢啊……” “哼脏里!你這毒婦竟也來了她我?” 一聲冷哼從身側(cè)響起虹曙,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎番舆,沒想到半個(gè)月后酝碳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恨狈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年疏哗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禾怠。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡返奉,死狀恐怖贝搁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芽偏,我是刑警寧澤雷逆,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站污尉,受9級特大地震影響膀哲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜被碗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一某宪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锐朴,春花似錦兴喂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至娩嚼,卻和暖如春蘑险,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岳悟。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工佃迄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贵少。 一個(gè)月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓呵俏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親滔灶。 傳聞我的和親對象是個(gè)殘疾皇子普碎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348