请高手帮我写一份数据结构关于线性表插入的源程序,非常感谢

来源:百度知道 编辑:UC知道 时间:2024/06/25 07:46:07
关于数据结构线性表插入的问题,比如说有一个一维数组,a[5]={0,1,2,3,4,5},在2的前面插入一个数的源程序,谢谢!

不知道符合你的想法不?
#include<stdio.h>
#include<malloc.h>
typedef struct lnode{
int data;
struct lnode *next;
}lnode,*linklist;
//创建表
void create(linklist &l){
linklist p;
l=(linklist)malloc(sizeof(lnode));
l->next=NULL;
for( int i=6;i>0;--i){
p=(linklist)malloc(sizeof(lnode));
scanf("%d",&p->data);
p->next=l->next;
l->next=p;
}
}
//插入元素
int insert(linklist &l,int i,int e){
linklist p,s;
int j=0;
p=l;
while(p&&j<i-1){
p=p->next;++j;
}
if(!p||j>i-1) return 0;
s=(linklist)malloc(sizeof(lnode));
s->data=e;
s->next=p->next;
p->next=s;
return 1;
}
//输出元素
void print(linklist l)
{
linklist p;
p=l->next;
while (p)
{
printf("%d ",p->data);
p=p->next;
}
printf("