| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 634 人关注过本帖
标题:数构的第一个程序。。。杯具!
只看楼主 加入收藏
xiaoxxr
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2010-10-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
数构的第一个程序。。。杯具!
刚开始学数构,上课都没怎么听,趁放假自己补补课,写了第一个程序,结果都运行不出结果,希望各位高手指点一下!程序是在一个递增有序的顺序表va中插入一个数。
程序代码:
#include<stdio.h>
#include<malloc.h>
#define N 5
typedef int ElemType;
typedef struct{
    ElemType data[N];
    int length;
}SqList;
void InitList(SqList *&va,ElemType a[],int n){
    int i;
    va=(SqList *)malloc(sizeof(SqList));
    for(i=0;i<N;i++)
        va->data[i]=a[i];
    va->length=N;
}
int ListLength(SqList *va){
    return(va->length);
}
int ListInsert(SqList *&va,ElemType e){
    int i,j,length;
    length=ListLength(va);
    if(e>va->data[length-1])
        va->data[va->length]=e;
    else{
        for(i=0;i<va->length;i++)
            if(e<va->data[i])   break;
        for(j=va->length;j>i;j--)
            va->data[j]=va->data[j-1];
        va->data[i]=e;
    }
    va->length++;
    return 1;
}
void DispList(SqList *va){
    int i;
    for(i=0;i<va->length;i++)
        printf("%d",va->data[i]);
    printf("\n");
}
void main(){
    SqList *va;
    int a[N],i,x,e;
    printf("输入线性表:\n");
    for(i=0;i<N;i++)
        scanf("%d",&x);
    printf("输入要插入的数:");
    scanf("%d",&e);
    InitList(va,a,N);
    ListInsert(va,e);
    DispList(va);
}

2010-10-05 22:40
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:2 
数据结构 找遮天大哥

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-05 22:50
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用vandychan在2010-10-5 22:50:03的发言:

数据结构 找遮天大哥
师兄那么抬举我!那我就舍命陪君子了!我看下
2010-10-05 22:53
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:8 
程序代码:
#include<stdio.h>
#define maxlen 50
typedef int elemtype;
typedef elemtype sqlist[maxlen];
int creat(sqlist A)//创建顺序表
{
    int i,n;
    printf("创建一个顺序表:\n");
    printf("输入元素个数:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("输入第%d个元素值",i+1);
        scanf("%d",&A[i]);
    }
    return n;
}
void disp(sqlist A,int n)//输出一个顺序表
{
    int i;
    printf("输出一个顺序表:\n");
    if(n==0)
        printf("建立的顺序表为空表:\n");
    for(i=0;i<n;i++)
    printf("%4d",A[i]);
    printf("\n");
}
int Insert(sqlist A,int n,int x)
{
    int i=0,j;
    if(x>=A[n-1])/*插到线性表尾*/
    {
        A[n]=x;
       
    }
    else
    {
        while(A[i]<x)
       i++;
        for(j=n;j>=i;j--)
           A[j+1]=A[j];/*后移*/
        A[i]=x;
    }

   
        return n+1;
    }
void main()
{
    sqlist A;
      int x,n;
    n=creat(A);
    disp(A,n);
    printf("请输入一个要插入的数:\n");
     scanf("%d",&x);
    n=Insert(A,n,x);
    disp(A,n);

}
楼主看看我给你做的,你的有好些问题!比如你就开辟了一个空间却一直在用
2010-10-05 23:45
xiaoxxr
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2010-10-4
收藏
得分:0 
看来还得好好学啊,谢谢遮天大哥啦!
2010-10-06 11:49
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用xiaoxxr在2010-10-6 11:49:46的发言:

看来还得好好学啊,谢谢遮天大哥啦!
呃!不客气!以后多多交流~我的数据结构也在学习中
2010-10-06 11:52
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 3楼 遮天云
你是 舍命陪女子啊,/

我就是真命天子,顺我者生,逆我者死!
2010-10-06 17:19
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用BlueGuy在2010-10-6 17:19:38的发言:

你是 舍命陪女子啊,/
呃!不是吧!确定没搞错???

[ 本帖最后由 遮天云 于 2010-10-6 17:25 编辑 ]
2010-10-06 17:21
快速回复:数构的第一个程序。。。杯具!
数据加载中...
 
   



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

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