永发信息网

刚学数据结构,希望有一个简单的线性表代码参考,能输入数就行了

答案:1  悬赏:0  手机版
解决时间 2021-03-27 04:52
  • 提问者网友:鐵馬踏冰河
  • 2021-03-26 11:29
刚学数据结构,希望有一个简单的线性表代码参考,能输入数就行了
最佳答案
  • 五星知识达人网友:雾月
  • 2021-03-26 13:08
线性表有顺序存储和链式存储,数据结构的代码都比较多,不是几行就可以了,下面是链表(线性表的链式存储结构)的基本操作,你看看
#include "stdio.h"
#include "stdlib.h"
#include"string.h"
#define OK  1
#define ERROR 0
typedef char ElemType[10];//数据元素类型
typedef struct LNode{     //单链表结构
  ElemType data;
  struct LNode *next;
}LNode,*LinkList;
void CreateList_L(LinkList &L,int n)
{//顺序创建有n个结点的单链表
 LinkList p,q; int i;
 L=(LinkList)malloc(sizeof(LNode));//生成头节点
 if(!L) return ;
 L->next=NULL;q=L;
 for(i=1;i<=n;++i)
  {
  p=(LinkList)malloc(sizeof(LNode));//生成新节点
  printf("Input NO.%d  :",i);
  scanf("%s",p->data);
  p->next=NULL;q->next=p;
  q=p;
  }
}
void Display_L(LinkList L)
{//L为头指针,显示单链表的每个元素
 LinkList p=L->next;
 while(p)
  {
  printf("%s ",p->data); p=p->next;
  }
 printf("
");
}
int GetElem_L(LinkList L,int i,ElemType e)
{//L为单链表的头指针,取为位序为i的元素值,并赋值给变量e
 LinkList p=L->next; int j=1;
 while(p&&j  {
  p=p->next; j++;
  }
 if(!p||j>i) return ERROR;
 strcpy(e,p->data);return OK;
}
int ListInsert_L(LinkList &L,int i,ElemType e)  
{//L为单链表的头指针,表示在位序为i的元素前插入数据e
 LinkList p=L,s;int j=0;
 while(p&&j  {
  p=p->next; ++j;
  }
 if(!p||j>i-1) return ERROR;//i值不合理
 s=(LinkList)malloc(sizeof(LNode));
 strcpy(s->data,e);
 s->next=p->next;
 p->next=s;
 return OK;
}
int ListDelete_L(LinkList &L,int i,ElemType e)
{//L为单链表的头指针,删除位序为i的数据元素,并将其值赋值给e
 LinkList p=L,q; int j=0;
 while(p&&j  {
  p=p->next; ++j;
  }
 if(!p||j>i-1) return ERROR;//i值不合理
 q=p->next;p->next =q->next ;//删除结点 
 strcpy(e,q->data );free(q);//释放结点
 return OK;
}
void main()
{
 LinkList L;
 ElemType e;
 int n;
 printf("请输入单链表的长度n=");
 scanf("%d",&n);
 CreateList_L(L,n);
 printf("
原始单链表是:");Display_L(L);
 if(GetElem_L(L,3,e))printf("
3号结点的内容是:%s
",e);
 if(ListDelete_L(L,6,e))
 printf("
删除6号结点后的单链表是:");Display_L(L);
 if(ListInsert_L(L,4,"李"))
 printf("
在4号结点前插入后的单链表是:
");Display_L(L);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯