线性表的知识,插入操作

来源:互联网 发布:cnnic管理的通用域名 编辑:程序博客网 时间:2024/06/05 02:12

/************************************************************************/
/* 线性表的知识,操作                                                                     */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#define  MAXSIZE 10
typedef int datatype;

typedef struct 
{
 datatype data[MAXSIZE];
 datatype last;
}Seqlist;

Seqlist *Init_SeqList()
{
 Seqlist *L;
 L=(Seqlist *)malloc(sizeof(Seqlist));
 L->last=-1;
 return L;
}
int Insert_SeqList( Seqlist *L,datatype i,datatype x)
{
 int j;
 if (L->last==MAXSIZE-1)
 {
  printf("表满了");
  return -1;
 }
 if (i<1||i>L->last+2)
 {
  printf("位置错了");
  return 0;
 }
 for (j=L->last;j>=i-1;j--)
  L->data[j+1]=L->data[j];
 L->data[i-1]=x;
 L->last++;
 return(1);
}

int main()
{
 Seqlist *L;
 datatype num;
 int i;
 int control=0;
 scanf("%d",&num);
 
 L=Init_SeqList();
 for (i=0;i<5;i++)
 {
  
   L->data[i]=i; 
   L->last=i;
 }

 

 for (i=0;i<5;i++)
 {
  printf("%d",L->data[i]);
 }
 control=Insert_SeqList(L,2,num);
 if(1==control)
 {
  printf("插入成功");
 }
 for (i=0;i<L->last+1;i++)
 {
  printf("%d",L->data[i]);
 }


 return 0;
}