| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:顺序表的存储
取消只看楼主 加入收藏
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
结帖率:96.3%
收藏
已结贴  问题点数:20 回复次数:4 
顺序表的存储
请大家帮忙写一个程序,要求如下:
设一顺序表中元素值递增有序。写一算法,将元素x插到表中的位置,并保持顺序表的有序性。
谢谢
搜索更多相关主题的帖子: 顺序 
2009-10-23 17:29
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
回复 3楼 玩出来的代码
不好意思,有些地方不明白,请教一下。首先是:"conio.h"是什么,这个没用过,不太懂,
还有h.a[i]=i*2+2; 看不太明白,为什么这样写啊?

2009-10-24 13:01
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
我希望程序在开始的时候可以自己输入数组,所以把上面的程序做了点改动,可是在编译的时候没有出现错误,但运行时确出现了错误,请大家帮忙找一下错在哪。红色为修改的地方,蓝色的是我自己加的初始化数组的函数。补充一点就是,运行的时候出现的是内存的错误提示。
还有就是画线部分我还没怎么看懂。

#define MAX 20
typedef struct sqnode
{
    int a[MAX];
    int len;
}sqlist;

void init(sqlist *h) //初始化数组函数
{
    int k;
    for(k=0;k<MAX;k++)
       h->a[k]=0;
    h->len=0;
}

void main()
{
    int i,n,j;
    sqlist h;
    init(&h);
    printf("输入数组的个数:");
    scanf("%d",&h.len);
    printf("请输入数组的各个元素值:");
    for(i=0;i<h.len;i++)       //数组赋值
        scanf("%d",h.a[i]);
     for(i=0;i<h.len;i++)
       printf("%d ",h.a[i]);       //输出数组
       printf("要插入的数:");
       scanf("%d",&n);
       i=0;
       while(h.a[i]<n)
         i++;                         //插入元素
        for(j=h.len-1;j>=i;j--)
           h.a[j+1]=h.a[j];
           h.a[i]=n;

        for(i=0;i<h.len+1;i++)         //输出数组
       printf("%d ",h.a[i]);
       getch();
   }
2009-10-24 13:31
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
非常感谢大家的帮忙,但是这个程序好像还少了一个功能,就是把还没有插入数字之前的数组也进行排序,所以还要请大家再帮这个忙,因为题目好像还有这样的要求,谢谢了。
2009-10-24 17:29
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
啊!!!!给错分了,对不起啊
2009-10-24 20:30
快速回复:顺序表的存储
数据加载中...
 
   



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

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