标题:c区人多,在这里讨论顺序表的问题,实际是一个指针
只看楼主
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
 问题点数:0 回复次数:6 
c区人多,在这里讨论顺序表的问题,实际是一个指针

代码如下:
问题在红色部分
#include<stdio.h>
#include<malloc.h>
typedef int elemtype;
#define INITSIZE 100

typedef struct
{
elemtype *data;
int length;
int listsize;
}sqlink;
/**********************************************/
//开辟顺序表
sqlink *initlist(sqlink *L,int i)
{
int j;
L->data=(elemtype*)malloc(sizeof(elemtype)*INITSIZE);
L->length=0;
L->listsize=INITSIZE;
for(j=0;j<i;j++)
printf("Input %d list",j);
scanf("%d",L->data[i]);
return L;

}
/***********************************************/
//顺序表长度
int getlen(sqlink *L)
{
return L->length;
}
/*************************************************/
//取顺序表的元素
int getelm(sqlink *L,int i)
{
int e;
if(i<0||i>L->length)
return 0;
else
e=L->data[i-1];
return e;
}
/*************************************************/
//元素定位
int locate(sqlink *L,elemtype e)
{
int i=0;
while (i<L->length)

if(L->data[i]==e)
i++;
return i;


}
/*****************************************************/
//元素的插入
int insert(sqlink *L,int i,elemtype e)
{
int j;
if(i<1||i>L->length+1)
return 0;
else
if(L->length==L->listsize)
{
L->data=(elemtype *)realloc(L->data,(L->listsize+1)*sizeof(elemtype ));
L->listsize++;
}
for(j=L->length;j>=i;j--)
L->data[i+1]=L->data[i];
L->data[i-1]=e;
L->length++;
return 1;
}
/********************************************************/
//元素的删除
int delete(sqlink *L,int i,elemtype e)
{
int j;
if(i<1||i>(L->length+1))
return 0;
e=L->data[i-1];//储存删除的元素,windows 下的 Ctrl+z操作,但是在主函数段没有用,这里只是说明
for (j=i;j<L->length;j++)
L->data[i-1]=L->data[i];
L->length--;
return 1;
}
/*********************************************************/
//主函数
void main()
{
sqlink *initlist(sqlink *L,int i);//声明
int getlen(sqlink *L);
int getelm(sqlink *L,int i);
int locate(sqlink *L,elemtype e);
int insert(sqlink *L,int i,elemtype e);
int delete(sqlink *L,int i,elemtype e);
sqlink *K ,*L;
int m,n;
elemtype e;
K=initlist(L);//: error C2198: 'initlist' : too few actual parameters我用的是vc6.0
printf("OK!,created !\n");
printf("The length is %d\n",getlen(K));
printf("/***************************************************/\n");
printf("\n you can deal the follow things :\n");
printf(" \n 1.getelem \n 2.locate\n 3.insert \n 4.delete\n please choose one :\n");
printf("/***************************************************/\n");
scanf("%d",n);
if(n==1)

{ printf("Input which one do u want to get \n");
getchar();
scanf("%d",m);
getelm(K,m);
}
else
if(n==2)
{printf("Input which one do u want to get \n");
getchar();
scanf("%d",e);
locate(K,m);
}
else
if(n==3)
{printf("Input which one do u want to insert and what elem do u want to input:\n");
getchar();
scanf("%d %d",m,e);
insert(K,m,e);
}
else
if (n==4)
{ printf("Input which one do u want to delete :\n");
getchar();
scanf("%d ",m);
}

else
printf("The wrong input !\n");
printf("The length is %d\n",getlen(K));

}

搜索更多相关主题的帖子: 顺序表 指针 int elemtype sqlink 
2007-10-08 22:08
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
得分:0 

上面的有一个小问题,就是没有分块,但是这是一个小的程序;


方寸之内,剖天下; 方坛之内,析自我;
2007-10-08 22:09
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

少了个参数啦.


倚天照海花无数,流水高山心自知。
2007-10-08 22:34
limeng_HOHO
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:49
专家分:50
注 册:2007-7-16
得分:0 
sqlink *initlist(sqlink *L,int i);//声明
K=initlist(L);
调用的时候少了参数

世界并不美丽 然而又因此而美丽
2007-10-08 22:38
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
得分:0 
好失败啊,谢谢!

方寸之内,剖天下; 方坛之内,析自我;
2007-10-08 22:52
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
呵呵
编译器已经很明白的告诉你了啊^_^

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-10-08 23:00
追寻完美
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:5
帖 子:331
专家分:0
注 册:2007-9-30
得分:0 
用编译器进行单步调试```````````

没时间看代码了`````

[glow=255,red,2] 无限制追求技术的完美[/glow]
2007-10-08 23:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-175958-1-1.html




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

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