用C语言实现顺序表一般有静态和动态两种,静态顺序表在实行的过程中是直接定义一个数组,用他来存放数据,数据在顺序表中的存储是连续存放的,下面我将用三个函数文件来实现一个简单的顺序表,并且实现增、删、查、逆序、排序等功能:
Seqlist.h(函数的声明以及头文件的引用)
#ifndef __SeqList_H__
#define __SeqList_H__
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<assert.h>
typedef int DataType;
#define PrintType "%d "
#define MAX 10
typedef struct SeqList
{
DataType data[MAX];
int sz;
}SeqList,*pSeqList;
void InitSeqList(pSeqList ps);//初始化
void PushBack(pSeqList ps, DataType d);//尾部插入数据d
void PushFront(pSeqList ps, DataType d);//在头部插入数据d
void DisPlay(pSeqList ps);//打印所有数据
void PopBack(pSeqList ps);//尾部删除数据
void PopFront(pSeqList ps);//头部删除数据
int Find(pSeqList ps, DataType d);//删除指定位置的数据
void Insert(pSeqList ps, DataType d, int pos);//在指定的位置插入数据
void Remove(pSeqList ps, DataType d);//删除数据d
void RemoveAll(pSeqList ps, DataType d);//删除所有相同的数据d
void Reverse(pSeqList ps);//将所有数据逆序
void Sort(pSeqList ps);//给所有数据排序
int BinarySearch(pSeqList ps, DataType d);//二分查找指定数据
#endif//SeqList