# 动态顺序表
@相关链接:
冒泡,直接插入,选择,排序的实现
@文中关于三种排序的调用,运用了函数指针数组;
函数指针数组博客链接
@ 自定义头文件“pSeqList.h”
#ifndef _SEQLIST_H__//防止头文件重定义
#define _SEQLIST_H__
#define _CRT_SECURE_NO_WARNINGS 1//消除scanf的警告
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 2
enum Select
{
EXIT,
INSERT ,
SORT,
BINARYSEARCH,
REMOVE,
PUSHFRONT ,
PUSHBACK ,
POPBACK,
POPFRONT,
PRINTSEQLIST
};
typedef int DataType;//数据可以是int也可以是char,为方便修改可以在这里进行类型重定义
//注意的是,代码里的%d,%c接收和输出要与类型一致;
typedef struct SepLish
{
DataType *Data;//最大容量预定义为MAX = 100;
int sz;
int capacity;
}SeList,*pSepList;
void InitSeqList(pSepList pSeq);//初始化
void PrintSeqList(pSepList pSeq);//打印
void PopFront(pSepList pSeq);//头删
void PopBack(pSepList pSeq);//投插
void BubbleSort(pSepList pSeq);//冒泡排序
void InsertionSort(pSepList pSeq);//插入排序;
void SelectSort(pSepList pSeq);//选择排序;
void PushBack(pSepList pSeq, DataType x);//尾插
void PushFront(pSepList pSeq,DataType x);//头删
void BinarySerach(pSepList pSeq,DataType x);//查找
void _Remove(pSepList pSeq,DataType x);//删除
void RemoveAll(pSepList pSeq,DataType x);//删除所有的指定元素