数据结构之线性表

  

一、概述

线性表的顺序表示,特点是逻辑关系上相邻的两个元素物理位置上也相邻,这种数据结构的优点是可以随机读取表中的任意元素;缺点是做插入或者删除时,需要移动大量的元素。


与之相对的链式表示,不要求逻辑上相连的元素物理位置也相邻,每个元素除了存储其本身的数据之外,还存储了一个指示其后继元素位置的信息,因此在插入和删除时,不需要移动大量的元素,但是也不支持随机读取表中的任意元素。


二、线性链表的实现

# include & lt; stdio.h>      typedef结构节点{   int数据;   结构节点*下;   }节点;      int initLinkList(节点(节点){   节点→数据=https://www.yisu.com/zixun/0;   节点-> next=零;   返回0;   }   int getLinkListLen(节点(节点)   {   int i=0;   (我=0;节点->下一个!=零;我+ +){   节点=节点-> next;   }   返回我;   }   int getLinkListElm (int, int num节点*节点*数据)   {   int i=0;   int len;   len=getLinkListLen(节点);   如果(num> len) {   printf("数量超过链接列表披散下来\ n”);   返回1;   }   (我=0;i数据;   返回0;   }   int insertLinkList (int, int num节点*节点*数据)   {   int i=0;   int len;   节点* newNode=(节点*)malloc (sizeof(节点));   newNode -> data=*数据;   newNode ->=零;      len=getLinkListLen(节点);      如果(num> len) {   printf("数量超过链接列表披散下来\ n”);   返回1;   }   (我=0;i


数据结构之线性表