顺序表初始化问题 一初始化马上出错

[复制链接]
查看11 | 回复1 | 2011-1-5 17:39:20 | 显示全部楼层 |阅读模式
typedef int DataType;
typedef struct{
DataType data[MIXSIZE];
int length;
}SeqList;
SeqList L;
void InitList(SeqList *L)

{

L->length=0;

}
int ListInsert(SeqList *&L,int i,DataType e)
{

int j;

if(iL->length+1)

return 0;

i--;

for (j=L->length;j>i;j--)

L->data[j]=L->data[j-1];

L->data[j]=e;

L->length++;

return 1;
}
int ListDelete(SeqList *L,int i,DataType e)
{

int j;

if(iL->length)

return 0;

i--;

e=L->data;

for(j=i;jlength-1;j++)

L->data[j]=L->data[j+1];

L->length--;

return 1;
}
int GetNode(SeqList *L,DataType e)

{

int i;

for(i=0;ilength;i++);

if(e==L->data)

printf("该元素的位置为%d ",i+1);

}
void ListOn(SeqList *L)
{
int i;
if(L->lengthlength;i++)
printf("%d ",L->data);
printf("\n");
}
void DestroyList(SeqList *&L)
{

free(L);
}
void func_1(void) //实现功能模块1的函数
{
char ch; /*菜单选择字符*/
DataType e;
int i;
SeqList *L;
do/*循环,直至键入'0'*/
{

clrscr();//清屏函数

cout>ch;

switch(ch)

{

case '1':

clrscr();//清屏函数

InitList(L);

cout<<"完成子功能1"<<endl;

break;

case '2':

clrscr();//清屏函数

DestroyList(L);

break;

case '3':

clrscr();//清屏函数

cout<<"输入插入位置和数值"<<endl;

scanf("%d%d",&i,&e);

ListInsert(L,e,i);

break;

case '4':

clrscr();//清屏函数

cout<<"输入要删除数据的位置和数据"<<endl;

scanf("%d%d",i,e);

ListDelete(L,i,e);

break;
case '5':

clrscr();//清屏函数

ListOn(L);

break;
case '6':

clrscr();//清屏函数

cout<<"输入要查找元素的数值"<<endl;

scanf("%d",e);

GetNode(L,e);

break;

}
}while(ch!='0');
}

回复

使用道具 举报

千问 | 2011-1-5 17:39:20 | 显示全部楼层
去我博客看看,都写好了,不懂了再问吧。链接:http://blog.sina.com.cn/supergirl2012
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行