一个线性表插入操作的问题!

wlalw131415 2009-05-29 12:36:05
#include <stdio.h>
#include <stdlib.h>

typedef int elemType;


struct List{
elemType *elem;
int length;
int listsize;

};

/**初始化线性表**/
int InitList_Sq(struct List *L){
L->elem =(elemType*) malloc(10 * sizeof(elemType));
if(!L->elem) return -1;
L->length = 0;
L->listsize = 10;
return 1;

}

/**将长为length的字符数组arr中第i个元素起之后的k个元素,按顺序存储在线性表L中。**/
int Arr_to_Sq(struct List *L, int *arr, int length, int i, int k)
{
int z = i+k;
if(z > length || i < 0 || k < 0)
{
return -1;
}
int *pa = L->elem;

while(i < z)
{
*pa++ = arr[i];
i++;
}
L->listsize = L->length = k;
return 1;
}


void main()
{
struct List L;
InitList_Sq(&L);
int a[] = {1,2,3,4,5,6};
Arr_to_Sq(&L,a,6,2,3);

}
//哪位帮忙看看是什么问题,调试老是通不过
...全文
103 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanguards 2009-05-30
  • 打赏
  • 举报
回复
struct List L;
InitList_Sq(&L);
int a[] = {1,2,3,4,5,6};
定义部分与执行部分不能产生交叉!
hongxin7 2009-05-30
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <stdlib.h>

typedef int elemType;


struct List{
elemType *elem;
int length;
int listsize;

};

/**初始化线性表**/
int InitList_Sq(struct List *L){
L->elem =(elemType*) malloc(10 * sizeof(elemType));
if(!L->elem) return -1;
L->length = 0;
L->listsize = 10;
return 1;

}

/**将长为length的字符数组arr中第i个元素起之后的k个元素,按顺序存储在线性表L中。**/
int Arr_to_Sq(struct List *L, int *arr, int length, int i, int k)
{
int z = i+k;
int *pa = L->elem;
if(z > length || i < 0 || k < 0)
{
return -1;
}


while(i < z)
{
*pa++ = arr[i];
i++;
}
L->listsize = L->length = k;
return 1;
}

void display(struct List *L)
{
int i;
for(i=0;i<L->length;++i)
{
printf("%d\t",*(L->elem++));
}
}


void main()
{
struct List L;
int a[] = {1,2,3,4,5,6};
InitList_Sq(&L);

Arr_to_Sq(&L,a,6,2,3);
display(&L);

}
zgjxwl 2009-05-29
  • 打赏
  • 举报
回复
没什么可调试的。。
zgjxwl 2009-05-29
  • 打赏
  • 举报
回复
#include <stdio.h> 
#include <stdlib.h>

typedef int elemType;


struct List{
elemType *elem;
int length;
int listsize;

};

/**初始化线性表**/
int InitList_Sq(struct List *L){
L->elem =(elemType*) malloc(10 * sizeof(elemType));
if(!L->elem) return -1;
L->length = 0;
L->listsize = 10;
return 1;

}

/**将长为length的字符数组arr中第i个元素起之后的k个元素,按顺序存储在线性表L中。**/
int Arr_to_Sq(struct List *L, int *arr, int length, int i, int k)
{
int z = i+k;
if(z > length || i < 0 || k < 0)
{
return -1;
}
int *pa = L->elem;

while(i < z)
{
*pa++ = arr[i];
i++;
}
L->listsize = L->length = k;
return 1;
}

void display(struct List *L)
{
int i;
for(i=0;i<L->length;++i)
{
printf("%d\t",*(L->elem++));
}
}


void main()
{
struct List L;
InitList_Sq(&L);
int a[] = {1,2,3,4,5,6};
Arr_to_Sq(&L,a,6,2,3);
display(&L);

}

//输出
3 4 5
光宇广贞 2009-05-29
  • 打赏
  • 举报
回复
第几行出的错误?
zgjxwl 2009-05-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wlalw131415 的回复:]
引用 3 楼 zgjxwl 的回复:
没什么可调试的。。

怎么我这上面调试有错误呢,环境有问题??
[/Quote]
RP问题。。。^_^
yejinson 2009-05-29
  • 打赏
  • 举报
回复
路过
xempo 2009-05-29
  • 打赏
  • 举报
回复
楼主上街了,然后回到家里。中间并没有做什么——逛街而已。
magipan 2009-05-29
  • 打赏
  • 举报
回复
是不是编译器不支持传引用啊?
wlalw131415 2009-05-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zgjxwl 的回复:]
没什么可调试的。。
[/Quote]
怎么我这上面调试有错误呢,环境有问题??

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧