c语言:【顺序表】静态顺序表的删除指定位置元素Erase、删除指定元素Remove
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>#define MAXSIZE 1000typedef int DateType;
typedef struct SeqList
{DateType arr[MAXSIZE];size_t size;
}SeqList;//打印静态顺序表
void PrintSeqList(SeqList *Seq)
{assert(Seq);if (Seq->size == 0){printf("静态顺序表当前为空!\n");return;}for (int index = 0; index < Seq->size; index++){printf("%d-> ", Seq->arr[index]);}
}//初始化
void init(SeqList *Seq)
{assert(Seq);memset(Seq->arr, 0, sizeof(DateType)* MAXSIZE);Seq->size = 0;
}//尾插
void PushBack(SeqList *Seq,DateType x)
{if (Seq->size >= MAXSIZE){printf("静态顺序表当前已满,无法插入!\n");return;}Seq->arr[Seq->size++] = x;
}//void Erase(SeqList *Seq, int pos)
//{
// assert(Seq);
// if (Seq->size <= 0)
// {
// printf("静态顺序表当前已空,无法删除!\n");
// return;
// }
// for (int index = pos; index < Seq->size; index++)
// {
// Seq->arr[index] = Seq->arr[index + 1];
// }
// Seq->size--;
//}void Remove(SeqList *Seq, DateType x)
{assert(Seq);int tag = 0;if (Seq->size <= 0){printf("静态顺序表当前已空,无法删除!\n");return;}int index = 0;for (; index < Seq->size; index++){if (Seq->arr[index] == x){for (; index < Seq->size; ++index){Seq->arr[index] = Seq->arr[index + 1];}--Seq->size;}tag = 1;}if (tag == 0)printf("未找到该元素!\n");
}void Test2(SeqList *Seq)
{init(Seq);PushBack(Seq, 0);PushBack(Seq, 1);PushBack(Seq, 2);PushBack(Seq, 3);PushBack(Seq, 4);PushBack(Seq, 5);PrintSeqList(Seq);printf("\n");/*Erase(Seq, 2);*/Remove(Seq, 2);PrintSeqList(Seq);printf("\n");}int main()
{/*SeqList Seq;Test1(&Seq);*/SeqList Seq;Seq.size = 0;Test2(&Seq); system("pause");return 0;
}
转载于:https://blog.51cto.com/10740184/1743161
c语言:【顺序表】静态顺序表的删除指定位置元素Erase、删除指定元素Remove相关推荐
- 静态树表查找算法及C语言实现,数据结构 静态树表查找算法
友情提示:此篇文章大约需要阅读 6分钟55秒,不足之处请多指教,感谢您的阅读. 算法思想 在使用查找表中有n个关键字,表中的每个关键字被查找的概率都是1/n.在等概率的情况下,使用折半查找算法最优. ...
- c语言数组指定位置插入和删除_玩转C语言链表,单链表/双向链表的建立/遍历/插入/删除...
最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合, ...
- c语言数组指定位置插入和删除_Apache POI在指定位置插入表格
接到的需求是在模板表格的指定位置再插入表格.比如在模板的${proTable}处插入表格. 依赖的包 org.apache.poi poi 3.15org.apache.poi poi-ooxml 3 ...
- 1-2、数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化
学习需要记录,更需要温习! 上一篇我们总结了什么是线性表,线性表的ADT类型,线性表的两种存储类型顺序存储结构和链式存储结构,今天正式进入线性表的顺序存储结构的总结和归纳,也就是数据结构的线性表的顺序 ...
- 线性表的顺序表示和实现(严蔚敏版)
线性表的顺序表示和实现 定义变量 初始化线性表 插入元素 删除线性表中的元素 查询 输出线性表 合并两个表 逻辑运行(main) 后续 定义变量 #include<stdio.h> //输 ...
- java中线性表删除元素和删除指定元素_线性表的插入和删除(Java版)
1.线性表的定义: (1).线性表是一种可以在任意位置插入和删除数据元素操作.由n(n≥0)个相同类型数据元素a0, a1,-, an-1组成的线性结构.除了第一个元素没有前驱元素和最后一个元素没有后 ...
- Hive 之 分区表,外部表,桶表
转自: http://chengjianxiaoxue.iteye.com/blog/2167036 1 受控表(managed table): hive中将创建的表和实际对应hdfs目录结构和文件相 ...
- c语言实现顺序表源程序,C语言实现静态顺序表的实例详解
C语言实现静态顺序表的实例详解 线性表 定义一张顺序表也就是在内存中开辟一段连续的存储空间,并给它一个名字进行标识.只有定义了一个顺序表,才能利用该顺序表存放数据元素,也才能对该顺序表进行各种操作. ...
- c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<asser ...
- C语言实现静态顺序表
1.用于存放声明的头文件 #ifndef __SEP__LIST__ #define __SEP__LIST__#define _CRT_SECURE_NO_WARNINGS 1 #include & ...
最新文章
- 栖息在生态办公室,裸心社与USGBC达成战略合作
- 《精通自动化测试框架设计》目录—导读
- 【转】【C#】判断两个文件是否相同
- SecureCRT安装的注意事项
- register_chrdev深入分析
- 使用url参数在C4C的html5 UI和Fiori UI之间做切换
- GitHub 年度报告正式发布,JavaScript 霸榜、TypeScript 爆发!
- 13.C++ vector 操作
- sql优化的N种方法_持续更新
- 蓝凌工作ekp开发使用一些js编写开发记录
- 安卓虚拟摄像头_iPhone 的第四颗摄像头位置,为什么给了激光雷达?
- Ever-Flowers IN Never-Dream(16)
- 小程序实现扫码识别二维码内容
- C++项目实战-环境的搭建
- iptables、firewalld防火墙详解
- Linux搭建YUM仓库
- kubernetes kubelet挂掉问题分析
- Android手机摄像头编程入门
- 《Linux内核分析》 第二节 操作系统是如何工作的
- geo ftp环境变量 export source ~/.bashrc Linux中filezilla下载ftp文件 ftp.ncbi.nlm.nih.gov linux下载 ftp下载geo非原始数
热门文章
- ShipConstructor 2006 v1.00 1CD(加拿大船舶建造软件)
- 亲,C/C++/C#居然薄弱叻?不会吧,现在是HTML5+CSS3+javascript的时代?
- VS编译时自动引用Debug|Release版本的dll
- 给WPS添加快捷键 智能粘贴 粘贴纯文本
- MFC防止进程重复建立
- JavaScript-Tool:CKFinder
- 在Linux环境下安装MYSQL
- BZOJ 3160: 万径人踪灭 [fft manacher]
- hdwiki 学习笔记 01
- 在gfs2中关闭selinux