简单顺序表 C语言实现

原创 2007年09月12日 20:22:00

顺序表是以数组为存储结构的线性表。由于数组中各元素的地址是可计算的,所以查找定位操作 有很高的执行效率。但是这种顺序存储结构的缺点也相当明显,要获得连续的内存空间就必须一次性申请,而在程序执行之前往往无法精确得到所需空间的大小。这时通常先确定一个合适的数组长度,如果后来空间不够,再重新申请一个更大的空间并把原先空间的数据转移过来。可以预见到,如果数据庞大的话,这个转移操作是相当耗费资源的。所以顺序表往往用在一些经常查找却很少改动的数据上。

这里写的是一个简单的线性表,数据空间是一定的,不能动态增加,完善的版本稍后用C++写 ^_^
可变长度 顺序表 C++实现

 

/**//* SeqList.h
 * Coding by nyzhl 
*/

#define TRUE 1
#define FALSE 0
#define MAX_SIZE 20

typedef 
int ElemType;
typedef 
struct ...{
    ElemType data[MAX_SIZE];
    
int last;
}
SeqList;

void InitList(SeqList *sl) ...{
    sl
->last = -1;
}



int EmptyList(SeqList *sl) ...{
    
return sl->last == -1;
}


int FullList(SeqList *sl) ...{
    
return sl->last == MAX_SIZE-1;
}


int Locate(SeqList *sl, ElemType elem) ...{
    
for(int i=0; i<=sl->last; i++
        
if(sl->data[i] == elem) return i;
    
return -1;
}


int GetData(SeqList *sl, int index, ElemType *elem) ...{
    
if(index<0 || index>sl->last) return FALSE;
    
*elem = sl->data[index];
    
return TRUE;
}


int InsertList(SeqList *sl, int index, ElemType elem) ...{
    
if(index<0 || index>sl->last+1return FALSE;
    
if(FullList(sl)) return FALSE;
    
for(int i=sl->last; i>=index; i--)
        sl
->data[i+1= sl->data[i];
    sl
->data[index] = elem;
    sl
->last ++;
    
return TRUE;
}


int DelList(SeqList *sl,int index, ElemType *elem) ...{
    
if(index<0 || index>sl->last) return FALSE;
    
*elem = sl->data[index];
    
for(int i=index; i<sl->last; i++)
        sl
->data[i] = sl->data[i+1];
    sl
->last --;
    
return TRUE;
}

【数据结构】C语言实现顺序表

这是自己上数据结构课程时候的练习,贴出来,做备忘。 #include #include #include #include #include #define LIST_INIT_SIZ...
  • lchad
  • lchad
  • 2014年12月24日 22:49
  • 5277

c语言实现简单顺序表

头文件#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #ifndef SEQLIST_H__ #define...
  • tajiaowm
  • tajiaowm
  • 2017年04月22日 15:52
  • 253

顺序表的实现(C语言)

#include #include #define MAXSIZE 100 struct List { int element[MAXSIZE]; //链表中最大节点数 int len; ...
  • yangshuangtao
  • yangshuangtao
  • 2015年04月09日 08:29
  • 3770

C语言实现顺序表的基本操作

数据结构老师给了几个接口,叫我们自己去实现顺序表的功能,感想就是顺序表实现起来比链表容易,但是还是要花费挺长的时间来构思,这一次的收获还是挺多的。...
  • OnlyLove_KD
  • OnlyLove_KD
  • 2016年09月12日 09:06
  • 6171

数据结构(一)——顺序表(C语言实现)

顺序表的简单实现
  • flueky
  • flueky
  • 2016年09月30日 18:00
  • 1422

C语言 用顺序表实现电话本的功能

简介: 用顺序表实现电话本的功能(C语言) 电话本具有如下4个功能: 1.创建一个电话本,电话本里面包含名字和电话号码 2.在指定位置插入一个名字和电话号码 3.在指定位置删除一个名字和电话号码...
  • Codeblocksm
  • Codeblocksm
  • 2015年10月10日 22:35
  • 779

C语言实现顺序表的初始化,插入,删除,查找

#include #include #define LIST_INIT_SISE 100 // 线性表存储空间的初始分配量 #define LIST_INCREASE_SISE 20 ...
  • BiuBiu741
  • BiuBiu741
  • 2016年12月03日 23:24
  • 1731

C语言实现合并两个有序(从小到大)顺序表为一个顺序表

#include #include typedef int ElemType; typedef int status; # define LIST_INIT_SIZE 100 # define OK...
  • zzldm
  • zzldm
  • 2017年05月11日 17:18
  • 1430

数据结构之---C语言实现顺序表查找(一)

数据结构之---C语言实现顺序表查找(一)
  • u012965373
  • u012965373
  • 2015年08月28日 21:25
  • 1576

C语言实现顺序表增删查改操作

C语言实现顺序表增删查改操作线性表是最常用且最简单的一种数据结构。线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。结构如下图图片来自百度 为了描述顺序表,我们声明一个结构,如下...
  • its_my_dream
  • its_my_dream
  • 2017年04月10日 17:06
  • 730
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单顺序表 C语言实现
举报原因:
原因补充:

(最多只允许输入30个字)