创建一个顺序表

1、创建一个顺序表,其数据元素类型为整型;
2、在该顺序表中插入数据(由运行时用户输入);
3、删除顺序表中的某一个元素(由用户输入第几个元素);
4、输出整个顺序表。
带说明;c语言,要求运行没错误
c语言的

学c语言很久了,可以用c++写不?如果可以的话,就看下面的.要不你自己改写成C语言,改写不是很难的.下面的程序运行的起,在我的vc里面,注意输入格式.
#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct {//表的存储结构
int *elem;
int length;
int listsize;
}sqlist;
int initlist(sqlist &l)//建立空表
{
l.elem =(int *)malloc(100*sizeof(int));
l.length =0;
l.listsize =100;
return 1;

}
int listinsert(sqlist &l,int i,int e)//插入元素,在i之前插入
{
int j=0;
for(j=l.length ;j>=i;j--)
l.elem [j+1]=l.elem [j];
l.elem [i]=e;
l.length ++;
return 1;
}

int listdelete(sqlist &l,int i,int &e)//删除指定的元素
{
int j=0;
e=l.elem [i];
for(j=i;j<=l.length ;j++)
l.elem [j]=l.elem [j+1];
l.length --;
return 1;
}
int creatlist(sqlist &l,int n)//对空链表进行初始化
{
int i,e;
for(i=1;i<=n;i++)
{
cin>>e;
listinsert(l,i,e);
}
return 1;
}
int getelem(sqlist l,int i,int &e)//输入出表中元素
{
e=l.elem [i];
return 1;
}

void main()
{
int e,i;
sqlist l;
initlist(l);;
cout<<"请输入请输入l的元素:";
creatlist(l,10);//建立一个含有10个的线性表,多少你自己可以定
cout<<"你所构造的表"<<endl;
for(i=1;i<=l.length ;i++)
{
getelem(l,i,e);
cout<<e<<" ";
}

cout<<endl<<"请输入要插入元素的位置,以及该元素"<<endl;
cin>>i>>e;
listinsert(l,i,e);
cout<<"插入之后的表:"<<endl;
for(i=1;i<=l.length ;i++)
{
getelem(l,i,e);
cout<<e<<" ";
}

cout<<"请输入要删除元素的位置i:"<<endl;
cin>>i;
listdelete(l,i,e);
cout<<"删除之后的表"<<endl;
for(i=1;i<=l.length ;i++)
{
getelem(l,i,e);
cout<<e<<" ";
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-29
这个顺序表是一个数组还是一个队列?
这个应该需要按照需求来做,
具体的做法可以参看c语言书籍或数据结构数据来做,
仔细点,不难的,有问题再来一起交流,
呵呵,希望能有帮助,^_^
第2个回答  2008-11-28
什么意思? 没明白