| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1257 人关注过本帖
标题:[求助]一道顺序表的题
只看楼主 加入收藏
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
结帖率:100%
收藏
 问题点数:0 回复次数:19 
[求助]一道顺序表的题
将一顺序表A中的元素逆置。例如原来顺序表A中元素是100,90,80,70,60,50,40,逆置以后为40,50,60,70,80,90,100。算法所用的辅助空间要尽可能地少。

#include <stdio.h>
typedef struct
{ int datas[7];
int last;
} SEQUENLIST; 这个老师说是顺序表,可是具体怎么用呢?

? fun ( ? ,int 7)
{ int temp,i,n;
n=a.last/2;
for (i=0;i<n;i++)
{ temp=a.datas[i];
a.datas[i]=a.datas[7-1-i];
a.datas[7-1-i]=temp;
}
}

main()
{ int i;
struct a.datas[7]={100,90,80,70,60,50,40};
fun ( a.datas[] ,7);
for (i=0;i<a.last;i++)
printf("%d\n",a.datas[i]);
}
我这个一定错误百出吧,谁能帮我写个,让我看看
搜索更多相关主题的帖子: 顺序 
2006-09-20 17:47
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
收藏
得分:0 
看看这个行不?
#include"stdio.h"
typedef struct
{ int datas;
int last;
} seqlist;
void fun(seqlist a[],int n)
{
int i,j;
int temp;
i=0;j=n-1;
while(i<j)
{
temp=a[i].datas;
a[i].datas=a[j].datas;
a[j].datas=temp;
i++;j--;
}
}
main()
{ int i;
seqlist a[7];
printf("please input a array:\n");
for(i=0;i<7;i++)
scanf("%d",&a[i].datas);
fun(a,7);
printf("\n");
for (i=0;i<7;i++)
printf("%3d",a[i].datas);
getch();
}

------------------不为别的,就为你,我的理想!-----------------
2006-09-20 18:04
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

#include <stdio.h>
typedef struct
{ int datas[7];
int last;
} SEQUENLIST;

void fun (SEQUENLIST *a)
{ int temp,i,n;
n=a->last/2;
for (i=0;i<n;i++)
{ temp=a->datas[i];
a->datas[i]=a->datas[a->last-1-i];
a->datas[a->last-1-i]=temp;
}
}

main()
{ int i;
SEQUENLIST a={{100,90,80,70,60,50,40},7};
fun (&a);
for (i=0;i<a.last;i++)
printf("%d\n",a.datas[i]);
getch();
}


倚天照海花无数,流水高山心自知。
2006-09-20 18:08
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 

nuciewth斑竹,谢谢!我明白了。

这个还有其他方法吗?老师说,至少有三种。 难道是用while作循环?


人生没有彩排,每天都是现场直播~~~
2006-09-20 18:23
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
以下是引用jxnuwy04在2006-9-20 18:04:20的发言:
看看这个行不?
#include"stdio.h"
typedef struct
{ int datas;
int last;
} seqlist;
void fun(seqlist a[],int n)
{
int i,j;
int temp;
i=0;j=n-1;
while(i<j)
{
temp=a[i].datas;
a[i].datas=a[j].datas;
a[j].datas=temp;
i++;j--;
}
}
main()
{ int i;
seqlist a[7];
printf("please input a array:\n");
for(i=0;i<7;i++)
scanf("%d",&a[i].datas);
fun(a,7);
printf("\n");
for (i=0;i<7;i++)
printf("%3d",a[i].datas); 不明白,或许还没讲到吧
getch();
}

你的我现在还不太明白,有待学习


人生没有彩排,每天都是现场直播~~~
2006-09-20 18:26
北海舰队
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-9-19
收藏
得分:0 
受不了

教官说过:祖国不会忘记你们. 为了祖国即便死在明天的战场上也无怨无悔. -- 北海 fly
2006-09-20 19:11
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
以下是引用北海舰队在2006-9-20 19:11:19的发言:
受不了


人生没有彩排,每天都是现场直播~~~
2006-09-20 21:20
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
收藏
得分:0 
以下是引用jxnuwy04在2006-9-20 18:04:20的发言:
看看这个行不?
#include"stdio.h"
typedef struct
{ int datas;
int last;
} seqlist;
void fun(seqlist a[],int n)
{
int i,j;
int temp;
i=0;j=n-1;
while(i<j)
{
temp=a[i].datas;
a[i].datas=a[j].datas;
a[j].datas=temp;
i++;j--;
}
}
main()
{ int i;
seqlist a[7];
printf("please input a array:\n");
for(i=0;i<7;i++)
scanf("%d",&a[i].datas);
fun(a,7);
printf("\n");
for (i=0;i<7;i++)
printf("%3d",a[i].datas);
getch();
}

刚刚看了一下书,知道了,是结构体数组


人生没有彩排,每天都是现场直播~~~
2006-09-20 21:24
北海舰队
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-9-19
收藏
得分:0 
此帖给我带来的精神冲击是无法用语言来描述的!

教官说过:祖国不会忘记你们. 为了祖国即便死在明天的战场上也无怨无悔. -- 北海 fly
2006-09-20 21:47
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
收藏
得分:0 

请问下各位: nuciewth版主写的里面的SEQUENLIST a={{100,90,80,70,60,50,40},7};是什么意思?,为什么SEQUENLIST后面有个a?还有最后还有一个getch()起什么作用?刚学线性表,谢谢!

[此贴子已经被作者于2006-10-4 12:37:52编辑过]


在不断的拼搏与进取中,定能创造一片天地!
2006-10-04 12:35
快速回复:[求助]一道顺序表的题
数据加载中...
 
   



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

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