用c语言实现顺序表
Seqlist.h
#pragma once
typedef int DataType;
#define N 100
typedef struct Seqlist
{
DataType array[N];
size_t size;
}Seqlist;
void InitSeqlist(Seqlist* s); //初始化
void PrintSeqlist(Seqlist* s); //打印
void PushBack(Seqlist* s, DataType x); //尾插
void PopBack(Seqlist* s); //尾删
void PushFront(Seqlist* s, DataType x); //头插
void PopFront(Seqlist* s); //头删
void Insert(Seqlist* s, size_t pos, DataType x); //将x插入任意位置
int Find(Seqlist* s, DataType x); //查找元素
void Erase(Seqlist* s, size_t pos); //删除任意位置元素
void Modify(Seqlist* s, size_t pos, DataType x); //替换,将pos位置值修改为x
int Remove(Seqlist* s, DataType x); //移除某值的第一项
int RemoveAll(Seqlist* s, DataType x); //移除某值得全部项
void Swap(DataType* left, DataType* right); //交换两元素
void BubbleSort(Seqlist* s); //冒泡排序
void SelectSort(Seqlist* s); //选择排序
void SelectSort_OP(Seqlist* s); //选择排序的优化
int BinarySearch(Seqlist* s, DataType x); //二分查找
void InitSeqlist(Seqlist* s) //初始化
{
memset(s->array, 0, sizeof(DataType)*N);
s->size = 0;
}
void PrintSeqlist(Seqlist* s) //打印
{
for (size_t i = 0; i < s->size; i++)
{
printf("%d ", s->array[i]);
}
printf("\n");
}
void PushBack(Seqlist* s, DataType x) //尾插
{
assert(s);
if (s->size == N)
{
printf("Seqlist is full \n");
return;
}
s->array[s->size++] = x;
}
void PopBack(Seqlist* s) //尾删
{
assert(s);
if (s->size ==
用c语言实现顺序表
最新推荐文章于 2023-07-26 21:47:37 发布