重庆南岸营销型网站建设公司推荐凡客诚品购物
- 作者: 五速梦信息网
- 时间: 2026年03月21日 03:49
当前位置: 首页 > news >正文
重庆南岸营销型网站建设公司推荐,凡客诚品购物,东莞没有网站的公司,wordpress付费主题下载目录一、什么是顺序表二、顺序表的增删查改2.1 结构体的声明2.2 顺序表的初始化2.3 顺序表检查容量2.4 顺序表尾部插入数据2.5 顺序表头部插入数据2.6 顺序表尾部删除数据2.7 顺序表头部删除数据2.8 顺序表查找数据2.9 顺序表任意位置插入数据2.10 顺序表任意位置删除数据2.11 … 目录一、什么是顺序表二、顺序表的增删查改2.1 结构体的声明2.2 顺序表的初始化2.3 顺序表检查容量2.4 顺序表尾部插入数据2.5 顺序表头部插入数据2.6 顺序表尾部删除数据2.7 顺序表头部删除数据2.8 顺序表查找数据2.9 顺序表任意位置插入数据2.10 顺序表任意位置删除数据2.11 顺序表打印数据2.12 顺序表销毁三、顺序表汇总一、什么是顺序表 顺序表是在计算机内存中以数组的形式保存的线性表线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。换句话说就是一个动态开辟的数组然后用一个结构体来封装这一个动态数组再增加两个结构体成员记录数组中保存数据的情况。 二、顺序表的增删查改 2.1 结构体的声明 typedef int SLDataType;typedef struct SeqList {SLDataType* data;int sz;int capacity;}SL;2.2 顺序表的初始化 void SeqListInit(SL* ps) {assert(ps);ps-data (SLDataType*)malloc(sizeof(SLDataType) * 4);if (ps-data NULL){perror(malloc fail);return;}ps-capacity 4;ps-sz 0; }2.3 顺序表检查容量 void check_capacity(SL* ps) {assert(ps);if (ps-capacity ps-sz){SLDataType* tmp (SLDataType*)realloc(ps-data, sizeof(SLDataType) * ps-capacity * 2);if (tmp NULL){perror(realloc fail);return;}ps-data tmp;ps-capacity * 2;} }2.4 顺序表尾部插入数据 void SeqListPushBack(SL* ps,SLDataType x) {/assert(ps);check_capacity(ps);ps-data[ps-sz] x;ps-sz;/SeqListInsert(ps, ps-sz, x);}2.5 顺序表头部插入数据 void SeqListPushFront(SL* ps, SLDataType x) {/assert(ps);check_capacity(ps);int i ps-sz - 1;for (i; i 0; i–){ps-data[i 1] ps-data[i];}ps-data[0] x;ps-sz;/SeqListInsert(ps, 0, x);}2.6 顺序表尾部删除数据 void SeqListPopBack(SL* ps) {/assert(ps);assert(ps-sz 0);ps-sz–;/SeqListErase(ps, ps-sz - 1);}2.7 顺序表头部删除数据 void SeqListPopFront(SL* ps) {/assert(ps);assert(ps-sz 0);int i 0;for (i 0; i ps-sz - 1; i){ps-data[i] ps-data[i 1];}ps-sz–;/SeqListErase(ps, 0);}2.8 顺序表查找数据 int SeqListFind(SL* ps, SLDataType x) {assert(ps);int i 0;for (i 0; i ps-sz; i){if (ps-data[i] x){printf(找到了下标为:%d\n, i);return i;}}printf(找不到!\n);return -1; }2.9 顺序表任意位置插入数据 void SeqListInsert(SL* ps, int pos, SLDataType x) {assert(ps);assert(pos 0 pos ps-sz);check_capacity(ps);int i 0;for (i ps-sz - 1; i pos; i–){ps-data[i 1] ps-data[i];}ps-data[pos] x;ps-sz; }2.10 顺序表任意位置删除数据 void SeqListErase(SL* ps, int pos) {assert(ps);assert(pos 0 pos ps-sz);int i 0;for (i pos; i ps-sz - 1; i){ps-data[i] ps-data[i 1];}ps-sz–;} 2.11 顺序表打印数据 void Print(SL* ps) {assert(ps);int i 0;for (i 0; i ps-sz; i){printf(%d , ps-data[i]);}printf(\n); }2.12 顺序表销毁 void SeqListDestroy(SL* ps) {assert(ps);free(ps-data);ps-data NULL;ps-capacity ps-sz 0; } 三、顺序表汇总 SeqList.h #pragma once/ //SeqList.h #include stdio.h #include assert.h #include stdlib.htypedef int SLDataType;typedef struct SeqList {SLDataType* data;int sz;int capacity;}SL;//函数声明 extern void SeqListInit(SL* ps); extern void SeqListDestroy(SL* ps); extern void SeqListPushBack(SL* ps, SLDataType x); extern void SeqListPushFront(SL* ps, SLDataType x); extern void SeqListPopBack(SL* ps); extern void SeqListPopFront(SL* ps); extern void Print(SL* ps); extern int SeqListFind(SL* ps, SLDataType x); extern void SeqListInsert(SL* ps, int pos, SLDataType x); extern void SeqListErase(SL* ps, int pos); SeqList.c #define _CRT_SECURE_NO_WARNINGS 1/ //SeqList.c#include SeqList.hvoid SeqListInit(SL* ps) {assert(ps);ps-data (SLDataType*)malloc(sizeof(SLDataType) * 4);if (ps-data NULL){perror(malloc fail);return;}ps-capacity 4;ps-sz 0; }void SeqListDestroy(SL* ps) {assert(ps);free(ps-data);ps-data NULL;ps-capacity ps-sz 0; }void check_capacity(SL* ps) {assert(ps);if (ps-capacity ps-sz){SLDataType* tmp (SLDataType*)realloc(ps-data, sizeof(SLDataType) * ps-capacity * 2);if (tmp NULL){perror(realloc fail);return;}ps-data tmp;ps-capacity * 2;} }void SeqListPushBack(SL* ps,SLDataType x) {/assert(ps);check_capacity(ps);ps-data[ps-sz] x;ps-sz;/SeqListInsert(ps, ps-sz, x);}void Print(SL* ps) {assert(ps);int i 0;for (i 0; i ps-sz; i){printf(%d , ps-data[i]);}printf(\n); }void SeqListPushFront(SL* ps, SLDataType x) {/assert(ps);check_capacity(ps);int i ps-sz - 1;for (i; i 0; i–){ps-data[i 1] ps-data[i];}ps-data[0] x;ps-sz;/SeqListInsert(ps, 0, x);}void SeqListPopBack(SL* ps) {/assert(ps);assert(ps-sz 0);ps-sz–;/SeqListErase(ps, ps-sz - 1);}void SeqListPopFront(SL* ps) {/assert(ps);assert(ps-sz 0);int i 0;for (i 0; i ps-sz - 1; i){ps-data[i] ps-data[i 1];}ps-sz–;/SeqListErase(ps, 0);}int SeqListFind(SL* ps, SLDataType x) {assert(ps);int i 0;for (i 0; i ps-sz; i){if (ps-data[i] x){printf(找到了下标为:%d\n, i);return i;}}printf(找不到!\n);return -1; }void SeqListInsert(SL* ps, int pos, SLDataType x) {assert(ps);assert(pos 0 pos ps-sz);check_capacity(ps);int i 0;for (i ps-sz - 1; i pos; i–){ps-data[i 1] ps-data[i];}ps-data[pos] x;ps-sz; }void SeqListErase(SL* ps, int pos) {assert(ps);assert(pos 0 pos ps-sz);int i 0;for (i pos; i ps-sz - 1; i){ps-data[i] ps-data[i 1];}ps-sz–;} test.c #define _CRT_SECURE_NO_WARNINGS 1/ //test.c #include SeqList.hvoid test_SeqListPushBack(void) {SL sl;SeqListInit(sl);SeqListPushBack(sl, 1);SeqListPushBack(sl, 2);SeqListPushBack(sl, 3);SeqListPushBack(sl, 4);SeqListPushBack(sl, 5);SeqListInsert(sl, 2, 9);SeqListErase(sl, 3);Print(sl);SeqListFind(sl, 4);}void test_SeqListPushFront(void) {SL sl;SeqListInit(sl);SeqListPushFront(sl, 1);SeqListPushFront(sl, 2);SeqListPushFront(sl, 3);SeqListPushFront(sl, 4);SeqListPushFront(sl, 5);Print(sl); }void test_SeqListPopBack(void) {SL sl;SeqListInit(sl);SeqListPushBack(sl, 1);SeqListPushBack(sl, 2);SeqListPushBack(sl, 3);SeqListPushBack(sl, 4);SeqListPushBack(sl, 5);Print(sl);SeqListPopFront(sl);Print(sl);SeqListPopFront(sl);Print(sl);SeqListPopFront(sl);Print(sl);SeqListPopFront(sl);Print(sl);SeqListPopFront(sl);Print(sl);}int main() {//test_SeqListPushBack();//test_SeqListPushFront();test_SeqListPopBack();return 0; }你学会了吗喜欢的话请点亮一下小心心呗
- 上一篇: 重庆哪里做网站进入网络管理的网站
- 下一篇: 重庆南川网站制作公司哪家好免费x网站域名视频
相关文章
-
重庆哪里做网站进入网络管理的网站
重庆哪里做网站进入网络管理的网站
- 技术栈
- 2026年03月21日
-
重庆金建站互联网企业排名2021
重庆金建站互联网企业排名2021
- 技术栈
- 2026年03月21日
-
重庆江津网站设计公司电话如何进行网站推广?网站推广的基本手段有哪些
重庆江津网站设计公司电话如何进行网站推广?网站推广的基本手段有哪些
- 技术栈
- 2026年03月21日
-
重庆南川网站制作公司哪家好免费x网站域名视频
重庆南川网站制作公司哪家好免费x网站域名视频
- 技术栈
- 2026年03月21日
-
重庆南川网站制作公司推荐网站建好了还需要什么维护
重庆南川网站制作公司推荐网站建好了还需要什么维护
- 技术栈
- 2026年03月21日
-
重庆农村网站建设金华永康网站建设
重庆农村网站建设金华永康网站建设
- 技术栈
- 2026年03月21日
