| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 604 人关注过本帖, 1 人收藏
标题:讲X插入到顺序表VA中,我不知道问题出在哪,高手进来看下,我初学者
只看楼主 加入收藏
zhuchenxi
Rank: 1
等 级:新手上路
帖 子:61
专家分:6
注 册:2011-4-28
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:4 
讲X插入到顺序表VA中,我不知道问题出在哪,高手进来看下,我初学者
# include<stdio.h>
# include<malloc.h>
#define OK 1
#define error 0
typedef int ElemType;
typedef struct{
    ElemType *elem;
    int length;
    int listsize;
}SqList;

int creat_scanflist(SqList *L,ElemType Length)
{
    ElemType i;
    L->elem=(ElemType*)malloc(Length*sizeof(ElemType));
    if(!L->elem) return error;
    printf("请输入顺序表VA的数据元素:");
    for(i=1;i<=Length;i++){
        scanf("%d",&L->elem[i]);
    }
    L->listsize=Length+1;
    return OK;
}

int insertlist(SqList *L,ElemType e)
{
    ElemType i,j,record;
    L->elem = (ElemType*)realloc(L->elem,L->listsize*sizeof(ElemType));
    if(!L->elem) return error;
    for(i=1;i<=L->listsize-1;i++){
        if(e>=L->elem[i]&&e<=L->elem[i+1]){
            record=i;
            for(j=L->listsize-1;j>=i;j--){
                L->elem[j+1]=L->elem[j];
            }
            L->elem[record+1]=e;
        }
    }
return OK;
}

void printflist(SqList L)
{
    ElemType i;
    for(i=1;i<L.listsize+1;i++){
        printf("%d ",L.elem[i]);
    }
    printf("\n");
}

int main()
{
    SqList VA;
    ElemType x;
    printf("请输入顺序表VA的元素个数:");
    scanf("%d",&VA.length);
    creat_scanflist(&VA,VA.length);
    printf("请输入要插入顺序表VA的数据元素x:");
    scanf("%d",&x);
    insertlist(&VA,x);
    printf("插入元素x后的顺序表VA为:");
    printflist(VA);
return 0;
}
搜索更多相关主题的帖子: include return 
2011-08-13 13:52
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:20 
# include<stdio.h>
# include<malloc.h>
#define OK 1
#define error 0
typedef int ElemType;
typedef struct{
    ElemType *elem;
    int length;
    int listsize;
}SqList;

int creat_scanflist(SqList *L,ElemType Length)
{
    ElemType i;
    L->elem=(ElemType*)malloc(Length*sizeof(ElemType));
    if(!L->elem) return error;
    printf("请输入顺序表VA的数据元素:");
    for(i=0;i<Length;i++)
    {
        scanf("%d",&L->elem[i]);
    }
    L->listsize=Length;
    return OK;
}

int insertlist(SqList *L,ElemType e)
{
    ElemType i,j,record;
    L->elem = (ElemType*)realloc(L->elem,(L->listsize+1)*sizeof(ElemType));
    if(!L->elem)
        return error;
    for(i=0;i<L->listsize;i++)
    {
        if(e<=L->elem[i])
        {
            record=i;
            break;
        }
        else
            record=i+1;
    }
    for(j=L->listsize-1;j>=i;j--)
    {
        L->elem[j+1]=L->elem[j];
    }
    L->elem[record]=e;   
    L->listsize++;
    return OK;
}

void printflist(SqList L)
{
    ElemType i;
    for(i=0;i<L.listsize;i++)
    {
        printf("%d ",L.elem[i]);
    }
    printf("\n");
}

int main()
{
    SqList VA;
    ElemType x;
    printf("请输入顺序表VA的元素个数:");
    scanf("%d",&VA.length);
    creat_scanflist(&VA,VA.length);
    printf("请输入要插入顺序表VA的数据元素x:");
    scanf("%d",&x);
    insertlist(&VA,x);
    printf("插入元素x后的顺序表VA为:");
    printflist(VA);
    return 0;
}
这样可以了,对了,哥们那个数组的下表都是从0开始,你每次都是从1开始遍历数组内部的数据,还有就是你那里realloc的话你既然要插入一个元素,那么你就要L->listlize+1.不然你没有地方插入啊!还有你如果是这样插入元素的话,你应该输入一组已经排好序的数吧,不然你还要先将它排序!

付出终将有回报!Ibelieve!
2011-08-13 16:08
zhuchenxi
Rank: 1
等 级:新手上路
帖 子:61
专家分:6
注 册:2011-4-28
收藏
得分:0 
回复 2楼 whbc
VA就是 值递增的 顺序表。。
、还有 谢谢了
2011-08-13 19:56
whbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:180
专家分:139
注 册:2010-3-31
收藏
得分:0 
回复 3楼 zhuchenxi
  ,不好意思,VA这个概念我还没有。呵呵!学习了!

付出终将有回报!Ibelieve!
2011-08-13 21:29
zhuchenxi
Rank: 1
等 级:新手上路
帖 子:61
专家分:6
注 册:2011-4-28
收藏
得分:0 
回复 4楼 whbc
我郁闷。。。。
我的意思是说VA这个顺序表 在题中是值递增的。。
 
2011-08-13 23:56
快速回复:讲X插入到顺序表VA中,我不知道问题出在哪,高手进来看下,我初学者
数据加载中...
 
   



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

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