线性表链式存储结构

来源:互联网 发布:linux unzip解压war包 编辑:程序博客网 时间:2024/04/30 03:41

#include<stdio.h>
#include<stdlib.h>
//------------线性表链式存储结构---------------

typedef struct Lnode{
 int data;
 struct Lnode *next;
}Lnode,*LinkList;

int InitList(LinkList &L)
{
 L=(LinkList)malloc(sizeof(Lnode));
 if(!L) exit(-2);
 L->next=NULL;
 return 1;
}//初始化

int EndInsert(LinkList &L,int e)
{
 LinkList p=L,s;
 s=(LinkList)malloc(sizeof(Lnode));if(!s) exit(-2);
 s->next=NULL;
 s->data=e;
 while(p->next)
 {
  p=p->next;
 }
 p->next=s;
 return 1;
}//末尾插入元素

int GetElem(LinkList &L){
 LinkList p=L->next;
 while(p)
 {
  printf("%3d",p->data);
  p=p->next;
 }
 return 1;
}//元素输出

int ElemInsert(LinkList &L,int i,int e)
{
 LinkList p=L,s;int j=0;

 s=(LinkList)malloc(sizeof(Lnode));if(!s) exit(-2);
 s->data=e;
 while(p->next&&j<i-1)
 {
  p=p->next;++j;
 }
  s->next=p->next;p->next=s;
  return 1;
}//元素插入

 

void main()
{
 int i,n;
 LinkList la;
 InitList(la);

 for(i=0;i<20;i++)
  EndInsert(la,i*3);

 GetElem(la);printf("/n");
 ElemInsert(la,4,100);

 GetElem(la);printf("/n");

}

原创粉丝点击