永发信息网

数据结构 C语言 做了一个多小时都没做出来 求助 !!!!!!!2.7题

答案:2  悬赏:70  手机版
解决时间 2021-11-25 21:44
数据结构 C语言 做了一个多小时都没做出来 求助 !!!!!!!2.7题
最佳答案
以下代码供你参考
#include
#include 

//顺序表就是数组,数组的逆置很简单
void sxb()
{
int a[5]={1,2,3,4,5};
int i=0,t;
for( i=0;i<5;i++ )
printf("%d ", a[i] );
printf("
");
for( i=0;i<5/2;i++ )
{
t=a[i];
a[i]=a[5-i-1];
a[5-i-1]=t;
}
for( i=0;i<5;i++ )
printf("%d ", a[i] );
printf("
");
}
//单链表的,采用头插法建立新表就可以了
struct node {
    int n;
    struct node *next ;
} *list=NULL;
void createList()
{
    struct node *p;
    int i;
    
    for( i=5;i>0;i-- )
{
p=(struct node *) malloc( sizeof(struct node) );
p->n=i;
//头插法建立链表
p->next=list;
list=p ; 
}
}
void showList()
{
struct node *p=list;
while( p)
    {
printf("%d ", p->n );
p=p->next;
    }
printf("
");
}

void reverseList()
{
    struct node *p=NULL,*h=list,*t; //h为原表头 p为新表的临时表头

    while(h)
{
t=h; //分离出一个结点t
h=h->next; //h成为剩余结点的表头(保持原表的连续可遍历)
//以下两句是头插法的基本操作
t->next=p; //把t结点加入新表
p=t; //t成为新表头
}
list=p;//最终的p是新表的表头,赋值给list
}
void link()
{
createList();
showList();
reverseList();
showList();
}

int main()
{
printf("sxb:
");
sxb();
printf("link:
");
link();
return 0;
}追问一会下课回去试试 真的很感谢
全部回答
你是哪里不会?
就地逆制就是用一个临时变量,把首跟尾一换嘛,
建立两个指针,head,tail,用临时变量将首位一换撒,
然后head++,tail--追问😭😭😭都不会 你可不可以把完整的代码写出来 让我看看 怎么做的???
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
四上苏教版语文练习与测试答案第十六课急
求助一个WO专利
在?吗?你?在长沙吗?
黑木明纱肚子大了吗。。。这都7月份了
50克复合膨松剂香甜泡打粉用多少面粉
地下城堡第五图的boss在哪
帮我我作文
浪琴日历为什么顺时针逆时针怎么调都不动
今日优惠券app靠谱吗
泡黑枸杞第一遍要洗么
苍蝇养殖河南商丘这里有没有?
龙工叉车与厦工叉车哪个品牌好些?
超惊讶的图片 哈哈
乳香essental oil和乳香boswellia frereana有
世界上真的有二维世界
推荐资讯
真实历史中的叶问到底能不能打十个
124期今晚开什么生消
成语有个叫什麼归海
我想从圆通发快递到新疆怎么不走货
平度青岛北站的列车在蓝村停不停
瀚晨名车漆面划痕快补地址在哪,我要去那里办
usps 邮寄问题
12张照片叙事一个生活中的小故事,急急急,求
徐冬冬 是谁女朋友
什么是安居房?
一年级用孤单怎么造句
已知如图试判断x,y,z为三边长的三角形的形
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?