| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1517 人关注过本帖
标题:[求助]将一顺序表A中元素逆置
只看楼主 加入收藏
hyl8729252
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-5
收藏
 问题点数:0 回复次数:8 
[求助]将一顺序表A中元素逆置
在原来顺序表A中的元素是100,90,80,70,60,50,40。逆置后为40,50,60,70,80,90,100。
写一个非形式算法。
大家给我个思路啊!
搜索更多相关主题的帖子: 元素 顺序 
2006-11-09 19:42
wyzn12
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-10-28
收藏
得分:0 
顺序拆掉原链表的一个结点,放到另一个链表,直到拆完

新王登基,血流成河!
2006-11-09 20:03
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
得分:0 

麻烦你写详细点,照顾新生谢谢!!


2006-11-09 20:05
wyzn12
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-10-28
收藏
得分:0 

#include<malloc.h>
#define LEN sizeof(DATA)

typedef struct PERSON
{
int num;
struct PERSON *next;
}DATA;

DATA *creat(void)
{
DATA *head,*p1,*p2;
p1=p2=(DATA *)malloc(LEN);
scanf("%d",&p1->num);
head=NULL;
while(p1->num)
{
if(head==NULL)head=p1;
else p2->next=p1;
p2=p1;
p1=(DATA *)malloc(LEN);
scanf("%d",&p1->num);
}
p2->next=NULL;
return head;
}

DATA *sort(DATA *head)
{
DATA *head1,*p1;
int flag=0;
head1=NULL;
p1=head;
while(p1)
{
flag=flag+1;
head=p1->next;
if(flag==1)
{
head1=p1;
head1->next=NULL;
}
else
{
p1->next=head1;
head1=p1;
}
p1=head;
}
return head1;
}

main()
{
DATA *head,*p;
printf("\ninput data [num]:\n");
head=creat();
head=sort(head);
printf("\noutput data have been sorted:\n");
p=head;
if(head==NULL)printf("\nLink null!\n");
else
{
while(p)
{
printf("%d ",p->num);
p=p->next;
}
}
getch();
}


新王登基,血流成河!
2006-11-09 20:11
hyl8729252
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-5
收藏
得分:0 

不是在链表中 是在顺序表中


2006-11-09 20:12
wandison
Rank: 1
等 级:新手上路
帖 子:50
专家分:4
注 册:2006-11-7
收藏
得分:0 
你学多久了,好强啊,我刚学

2006-11-09 20:12
hyl8729252
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-5
收藏
得分:0 
能不能给个解释 我刚刚学  还有些不懂

2006-11-09 20:14
hyl8729252
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-5
收藏
得分:0 
在顺序表种也可以拆了表重建吗?
我是这样想的把100覆盖40。后面一次都这样 不就倒过来了 不知这样行不行?

2006-11-09 20:19
wyzn12
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-10-28
收藏
得分:0 
看红色部分,先拆掉原链表第一个结点,放到另一个链表(空)做为第一个结点;
再拆原链表(被拆过)的第一个结点,放到新链表作为第2个结点;
如此反复,直到原链表被拆完

新王登基,血流成河!
2006-11-09 20:20
快速回复:[求助]将一顺序表A中元素逆置
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016037 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved