C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack
来源:互联网 发布:旅游购物 知乎 编辑:程序博客网 时间:2024/05/16 12:06
#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>#include<malloc.h>typedef int DateType;typedef struct SeqList{ DateType *arr; size_t capacility; size_t size;}SeqList;//创建空间void CheckCapa(SeqList *Seq){ assert(Seq); if (Seq->size >= Seq->capacility) { Seq->capacility = 2 * Seq->capacility + 3; Seq->arr = (DateType*)realloc(Seq->arr, Seq->capacility * sizeof(DateType)); }}//初始化动态顺序表void initSeqList(SeqList *Seq){ Seq->arr = NULL/* malloc(sizeof(DateType) * 3)*/; Seq->capacility = 0; Seq->size = 0;}//销毁空间void DestroySeq(SeqList *Seq){ Seq->capacility = 0; Seq->size = 0; free(Seq->arr); Seq->arr = NULL;}//尾插void PushBack(SeqList *Seq,DateType x){ assert(Seq); CheckCapa(Seq); Seq->arr[Seq->size++] = x;}//尾删void PopBack(SeqList *Seq){ assert(Seq); if (Seq->size <= 0) { printf("当前顺序表为空!无法继续删除\n"); return; } --Seq->size; printf("\n");}//打印动态顺序表void PrintSeq(SeqList *Seq){ assert(Seq); int index = 0; if (Seq->size == 0) { printf("当前顺序表为空!\n"); return; } for (index = 0; index < Seq->size; index++) { printf("%d->", Seq->arr[index]); } printf("\n");}void Test(){ SeqList Seq; initSeqList(&Seq); PushBack(&Seq,1); PushBack(&Seq, 2); PushBack(&Seq, 3); PushBack(&Seq, 4); PrintSeq(&Seq); PopBack(&Seq); PrintSeq(&Seq); DestroySeq(&Seq);}int main(){ Test(); system("pause"); return 0;}
本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1743504
0 0
- C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack
- 【C++】实现动态顺序表的PushBack(),PopBack(),PushFront(),PopFront(),Find(),Insert
- 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
- c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删
- C语言【顺序表】顺序表的初始化,头插,尾插,头删,尾删,增删查改,全删
- 【动态顺序表】 c语言的动态顺序表
- C语言动态顺序表
- C语言动态顺序表的实现
- c语言动态顺序表的实现
- 【C语言】动态顺序表的实现
- C语言实现动态顺序表
- c语言实现动态顺序表
- 利用C语言实现动态顺序表
- C语言实现动态顺序表
- c语言顺序表动态实现
- 动态顺序表----C语言实现
- C语言实现动态顺序表
- C语言实现动态顺序表
- 视频跟踪学习连接 Tracking Link
- c语言:【顺序表】静态顺序表的在指定位置插入元素,以及查找指定元素
- C# 实体模型EF关联数据库
- c语言:【顺序表】静态顺序表的删除指定位置元素Erase、删除指定元素Remove
- Oracle去掉重复数据
- C语言:【动态顺序表】动态顺序表的初始化、打印、尾插PushBack、尾删PopBack
- C语言:【动态顺序表】动态顺序表的在指定位置插入元素Insert,以及指定元素Find
- 【C语言项目】注释转换
- 【String类浅拷贝的实现】C++:String类引用计数浅拷贝的两种实现
- 【String类】C++:String类的传统写法与现代写法
- 《剑指offer》字符串中的字符替换
- 【C++】实现动态顺序表的PushBack(),PopBack(),PushFront(),PopFront(),Find(),Insert
- 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
- 【C++】实现双向链表的所有操作,包括逆置双链表(三种方法)