永发信息网

数据结构C/C++高手帮忙

答案:1  悬赏:60  手机版
解决时间 2021-06-04 00:14

一,输入一个数列,以0为结束,生成单链表。(输入顺序与结点顺序一致。)

二,输出表中结点。

三,逆转表中结点并输出。

四,按升序排序结点并输出。

五,释放结点空间。

帮忙一下我C语言初学者啊。

最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

typedef struct _list {
int val;
struct _list* next;
} *node, list;


node Insert( node* head, node pos, int val )
{
node tmp;
tmp = ( node )malloc( sizeof( list ) );
tmp->val = val;
tmp->next = pos ? pos->next : *head;
if ( pos ) {
pos->next = tmp;
} else {
*head = tmp;
}
return tmp;
}


node Create( void )
{
node head, t;
int n;
head = t = NULL;
while ( scanf( "%d", &n ) && n != 0 ) {
t = Insert( &head, t, n );
}
return head;
}


void Reverse( node* head )
{
node prev, next, tmp;
prev = *head;
next = prev->next;
while ( next ) {
tmp = next->next;
next->next = prev;
prev = next;
next = tmp;
}
(*head)->next = NULL;
*head = prev;
}


void Print( node head )
{
while ( head ) {
printf( "%d ", head->val );
head = head->next;
}
putchar( '\n' );
}


node msort( node* head, int n )
{
int i, m;
node l, r, p, *x, *y;
if ( n < 2 ) return *head;
m = n/2;
p = l = r = *head;
for ( i = m; i > 0; --i )
p = r, r = r->next;
p->next = NULL;
l = msort( &l, m );
r = msort( &r, n - m );
x = &p;
while ( l && r ) {
*x = l->val < r->val ? (y = &l, l) : (y = &r, r);
*y = (*y)->next; x = &(*x)->next;
}
l = l ? l : r ? r : NULL;
*x = l; *head = p;
return p;
}


void Sort( node* head )
{
int i;
node tmp = *head;
for ( i = 0; tmp; ++i, tmp = tmp->next );
msort( head, i );
}


void Del( node head )
{
node tmp;
while ( head ) {
tmp = head;
head = head->next;
free( tmp );
}
}

int main( void )
{
node head = Create();
Print( head );
Reverse( &head );
Print( head );
Sort( &head );
Print( head );
Del( head );
getch();
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么金鹏的手机,下载的QQ软件不能用
翻译化学英语
明早cctv5直播皇马的比赛吗??
m麻烦说点tvb好看的连续剧和好看的电影!
淇县鹤壁中国体育彩票地址在什么地方,想今天
000002后于市如何14成本何时解套
谁的空间做的最有个性?
广西3区的绝刀要多少钱啊?
光速多少钱?
哪位朋友知道,红参能与茶叶同泡共饮吗?
魏都区许昌市中心城区积水点整治项目第二标段
电视机辐射过的饮用水,喝起来要不要紧?
QQ聊天记录为什么不可以本地保存
英雄岛火YAO项链,到底带近战的打防御宝石好
地下城于勇士现在能开罐子了,装备全都跌了,
推荐资讯
求天龙中逍遥 45级一系列装备 列表
每晚一个人平均做多少个梦算是正常的。
用11'11去设计一款纹身该加点什么呢?
贵州有哪些 职业技术学校
为防止甲型H1N1传入中国,不要留学生回国的观
怎么办啊?!我现在能上网能聊Q 但是别的都连不
我玩CF的时候开始FPS都五六十的。玩了一盘以
我现在很缺很缺钱,咋能快攒点钱呢?
潘美辰今年几岁啊?
CBA的篮筐和NBA的篮筐材质有什么不同?
如何操作转账?
真心 能感动一个人吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?