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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

链表分解单双数c语言代码,编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表...

發(fā)布時間:2024/1/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 链表分解单双数c语言代码,编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我寫了一個,你參考參考!

#include

#include

typedef??struct??node

{

int data;

struct node??*next;

}linknode;

typedef??linknode *linklist;

/*頭插法建表*/

linklist creat1()

{

linklist head,s;

int x;

head->next=NULL;

printf("Please input a list and end by 0!\n");

scanf("%d",&x);

while(x)

{

s=(linklist)malloc(sizeof(linknode));

s->data=x;

s->next=head->next;

head->next=s;

scanf("%d",&x);

}

return head;

}

/*尾插法建表*/

linklist creat2 ()

{

linklist head,r,s;

int x;

head->next=NULL;

r=head;

printf("Please int a list and end by 0!\n");

scanf("%d",&x);

while(x)

{

s=(linklist)malloc(sizeof(linknode));

s->data=x;

r->next=s;

r=s;

scanf("%d",&x);

}

r->next=NULL;

return??head;

}

/*打印帶頭結(jié)點(diǎn)單鏈表*/

void print (linklist head)

{

linklist p;

p=head->next;

while(p)

{

printf("%4d",p->data);

p=p->next;

}

printf("\n");

}

void separation(linklist head)

{

linklist head1,head2,p,r,s;

head1->next=NULL;

head2->next=NULL;

r=head1;

s=head2;

p=head->next;

while(p)

{

if(p->data%2!=0)

{

r->next=p;

r=p;

p=p->next;

}

else

{

s->next=p;

s=p;

p=p->next;

}

}

r->next=NULL;

s->next=NULL;

print(head1);

print(head2);

}

/*主函數(shù)*/

main()

{

linklist head;

head=creat2();

print(head);

separation(head);

getch();

}

總結(jié)

以上是生活随笔為你收集整理的链表分解单双数c语言代码,编写一程序,将带头结点的单链表拆成一个奇数链表和一个偶数链表...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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