| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 883 人关注过本帖
标题:在顺序表中插入一数据!帮忙改下!谢啦!
只看楼主 加入收藏
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
在顺序表中插入一数据!帮忙改下!谢啦!
#include<stdio.h>
#include <malloc.h>
#include<math.h>
#include<stdlib.h>
#define   LIST_INIT_SIZE    100
#define   LISTINCREMENT     10
#define ok 1
#define error 0
typedef int ElemType;
typedef int Status;
typedef  struct{
   ElemType  * elem;
   int   length;
   int listsize;
}SqList;
Status   InitList(SqList &L)
{
    L.elem=(ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType));
        if(!L.elem)exit(error);
        L.length=0;
        L.listsize=LIST_INIT_SIZE;
        return ok;  
}//ok
Status ListInsert(SqList &L,int i,ElemType &x)
{
    int *newbase;
     i=0;int j;
   if(L.length>=L.listsize)
   {
       newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));
       if(!newbase)exit(-1);
       L.elem=newbase;
       L.listsize+=LISTINCREMENT;
   }

   while(L.elem[i]<x&&i<L.length)  
       i++;
   if(i>L.length) return 0;
   for(j=L.length-1;j>=i;j--)
   L.elem[j+1]=L.elem[j];
   L.elem[i]=x;
   L.length++;
   return ok;

}//ok
Status ListCreat_T(SqList &L)
{
    ElemType temp ;int y=1,n;

    printf("input L.length:\n");
    scanf("%d",&n);
    L.length=n;
printf("Please Input Date(n) ending\n");
scanf("%d",&temp);
for(y=1;y<=n;y++)
{
    scanf("%d",&temp);
    L.elem[y]=temp;
}
return L.length;
}


Status traList(SqList L,int n)
{
    int i;
    for(i=1;i<=L.length+1;i++)
        printf("%d",L.elem[i]);
    return L.elem[i];
}
int main()
{
    SqList L;
    int x,i;
       L.length=ListCreat_T(L);
    scanf("%d,%d",&x,&i);
    InitList(L);
    ListCreat_T(L);
    ListInsert(L,i,x);
    traList(L,L.length);
    return 0;
}

搜索更多相关主题的帖子: include return 
2011-10-20 09:18
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:5 
你哪里遇到问题了?

我们都在路上。。。。。
2011-10-20 11:55
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:5 
你在主函数里首先调用了ListCreat_T()这个函数,可是这个函数中并没有给L.elem分配内存空间,却出现了 L.elem[y]=temp;这样的语句,运行肯定会出错。
还有InitList()函数就是用来创建并初始化线性表的,你这个ListCreat_T()函数是不是有点多余。
2011-10-20 21:48
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
收藏
得分:0 
哦 打错啦 谢谢啦 问题被解决了!
2011-10-21 14:03
快速回复:在顺序表中插入一数据!帮忙改下!谢啦!
数据加载中...
 
   



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

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