利用顺序表的操作,实现以下函数
2017-11-25 14:04
411 查看
该笔记记录《数据结构与算法》顺序表;
:利用顺序表的操作,实现以下函数;
(1)从顺序表中删除具有最小值的元素并由函数返回被删除元素的值,空出的位置由最后一个元素补充。
(2)从顺序表汇总删除具有给定值X的所有元素。
(3)从有序顺序表中删除其值在给定值s与t之间(s< t)的所有元素。
#include <iostream> #include <stdlib.h> using namespace std; #define MAXSIZE 20 //初始化数组 void initArrayList(int arrayList[]) { for(int i=0;i<MAXSIZE;i++) arrayList[i]=rand()%15; } //打印数组 void showArray(int arrayList[],int currentSize) { for(int i=0;i<currentSize;i++) 4000 cout<<arrayList[i]<<" "; cout<<endl; } //打擂法,找到顺序表最小值 int findMin(int arrayList[],int currentSize) { int min=arrayList[0]; for(int i=1;i<currentSize;i++) { if(min>arrayList[i]) min=arrayList[i]; } return min; } //删除指定值函数 int deleteEle(int arrayList[],int ¤tSize,int deletedValue) { for(int i=0;i<currentSize;i++) { if(deletedValue==arrayList[i]) { //边界处理,如果删除最后一位数 if(currentSize-1>i) { arrayList[i]=arrayList[currentSize-1]; currentSize--; i--; } else { currentSize--; } } } return deletedValue; } //删除 s,t之间值函数 void deleteEle(int arrayList[],int ¤tSize,int s,int t) { for(int i=0;i<currentSize;i++) { if((s<arrayList[i])&&(arrayList[i]<t)) { deleteEle(arrayList,currentSize,arrayList[i]); i--; } } } int main() { //初始化 int arrayList[MAXSIZE]; int currentSize=MAXSIZE; initArrayList(arrayList); cout << "初始化顺序表为:" ; showArray(arrayList,currentSize); //删除最小值 int min=deleteEle(arrayList,currentSize,findMin(arrayList,currentSize)); cout<<"最小值为:"<<min<<endl; cout<<"删除最小值之后: "; showArray(arrayList,currentSize); //删除指定值 int element; cout<<"请输入要删除的值: "; cin>>element; deleteEle(arrayList,currentSize,element); cout<<element<<"被删除之后顺序表为:"; showArray(arrayList,currentSize); //删除s,t之间的值 cout<<"请输入s,t(s<t): "; int s,t; cin>>s>>t; deleteEle(arrayList,currentSize,s,t); cout<<"删除"<<s<<"~"<<t<<"之后的数组值为:"; showArray(arrayList,currentSize); return 0; }
相关文章推荐
- 利用顺序表的操作,实现以下函数: 1)从顺序表中删除具有最小值的元素并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。
- 利用顺序结构实现线性表的基本操作
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- asp下利用fso实现文件夹或文件移动改名等操作函数
- 编程实现顺序表的以下基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表。
- 文件部分-----(2)ASCII码文件读操作------------利用函数实现
- 实现基于静态数组的顺序表的以下基本操作:
- SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作
- Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 利用OpenCV的threshold函数实现双阈值法二值化操作的源码!
- PB利用API-SHFileOperation 文件操作函数 实现多文件及文件夹的删除复制等操作
- 利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 有关顺序表操作的函数实现
- 实现基于静态数组的顺序表的以下基本操作:
- 【C语言】请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变
- 学习笔记之Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- 实现基于静态数组的顺序表的以下基本操作:
- c语言:利用指针变量,用函数实现将3个整数按从大到小的顺序输出
- Jquery源码解析---利用队列来实现函数的顺序执行