c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说的具体点,我是菜菜鸟呵呵
答案:3 悬赏:50 手机版
解决时间 2021-04-14 10:36
- 提问者网友:捧腹剧
- 2021-04-14 03:11
c语言 数据结构 本人不才看不出问题 ,希望各位大虾指教,谢谢、、请说的具体点,我是菜菜鸟呵呵
最佳答案
- 五星知识达人网友:像个废品
- 2021-04-14 04:39
呵呵,菜鸟能写出这么长的代码,不错,帮你看看
#include //因为要用到malloc函数,因此,加上此头文件
//这个函数声明与定义不相符,注意变量顺序int ListInsert(sequenlist *L, datatype e, int i);//在线性表L中第i个位置上插入元素e。
int ListInsert(sequenlist *L, int i, datatype e) ;
int ListDelete(sequenlist *L, int i) //在线性表L中删除第i个元素。
{
int j;
if ( i<1 || i> L->last+1)
{
printf ("error");
//return NULL; NULL是一个指针类型的0,不能这样写,因为你定义的函数返回值类型是int
return 0;
}
else
{
for ( j = i; j <= (*L).last; j++ )
L->data[j-1] = L->data[j];
L->last --;
}
return 1;
}
int main()
{
sequenlist *L=NULL; //这里声明了一个指针,最好赋上初值NULL
char ch = 'a';
int k ;
//L指针在没有指定有效地址空间时,是不能直接使用的!不然它指向的是NULL不能操作
L=(sequenlist *)malloc( sizeof(sequenlist) ); //为指针分配一个有效的空间才可以用哦
....
printf("插入A B C D E\n");
ch = 'A';
for( k = 10; k <= 15 ; k ++)
{
L ->data[k] = ch;
ch ++;
}
L->last=k; //要加一句,不然无法根据last来输出数据
。。。。。
free(L); //释放指针
return 0; //既然函数定义返回值类型为int,这里应该加一个return 0才符合函数定义!
}
void DispList(sequenlist *L) //输出线性表L。要返回值有什么用哦?
{
int j;
for(j=0; jlast; j++)
{
printf("%c",L->data[j]);
}
printf("\n"); //最后加个换行
}
逻辑问题请LZ再仔细研究一下,有问题再问追问我试试吧
#include
//这个函数声明与定义不相符,注意变量顺序int ListInsert(sequenlist *L, datatype e, int i);//在线性表L中第i个位置上插入元素e。
int ListInsert(sequenlist *L, int i, datatype e) ;
int ListDelete(sequenlist *L, int i) //在线性表L中删除第i个元素。
{
int j;
if ( i<1 || i> L->last+1)
{
printf ("error");
//return NULL; NULL是一个指针类型的0,不能这样写,因为你定义的函数返回值类型是int
return 0;
}
else
{
for ( j = i; j <= (*L).last; j++ )
L->data[j-1] = L->data[j];
L->last --;
}
return 1;
}
int main()
{
sequenlist *L=NULL; //这里声明了一个指针,最好赋上初值NULL
char ch = 'a';
int k ;
//L指针在没有指定有效地址空间时,是不能直接使用的!不然它指向的是NULL不能操作
L=(sequenlist *)malloc( sizeof(sequenlist) ); //为指针分配一个有效的空间才可以用哦
....
printf("插入A B C D E\n");
ch = 'A';
for( k = 10; k <= 15 ; k ++)
{
L ->data[k] = ch;
ch ++;
}
L->last=k; //要加一句,不然无法根据last来输出数据
。。。。。
free(L); //释放指针
return 0; //既然函数定义返回值类型为int,这里应该加一个return 0才符合函数定义!
}
void DispList(sequenlist *L) //输出线性表L。要返回值有什么用哦?
{
int j;
for(j=0; j
{
printf("%c",L->data[j]);
}
printf("\n"); //最后加个换行
}
逻辑问题请LZ再仔细研究一下,有问题再问追问我试试吧
全部回答
- 1楼网友:轻熟杀无赦
- 2021-04-14 06:21
zaikankn
- 2楼网友:拾荒鲤
- 2021-04-14 05:44
其实就是函数调用
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯