这是顺序表的操作1.删除最小元素,空元素由最后一个填补,删除给定x的所有元素删除s-t间的所有元素
2016-09-29 16:43
781 查看
这是顺序表的操作1.删除最小元素,空元素由最后一个填补,删除给定x的所有元素删除s-t间的所有元素 `#include <iostream> using namespace std; class IntArray { public: int *b; int maxsize; int cursize; int position; IntArray(int max=0){ b=new int[max]; maxsize=max; cursize=0; position=0; } IntArray(){ cursize=0; } ~IntArray() { delete []b; } bool InsertTail(int a) { if(cursize>=maxsize) { cout<<"OUT OF Memory"<<endl; return false; } else { b[cursize]=a; cursize++; } return true; } int FindminValue() { int i=0; int min=0; for(i=0;i<cursize;i++) { if(b[i]<b[min]) { min=i; } } return b[min]; } int deleteMinValue(int min) { for(int i=0;i<cursize;i++ ) { if(b[i]==min) { b[i]=b[cursize-1]; } } return min; } bool deleteOneitem(int p) { if(cursize<=0) { cout<<"No item to delete"<<endl; return false; } else if(p<0||p>cursize-1) { cout<<"illegal to delete"<<endl; return false; } for (int i=p;i<cursize-1;i++) { b[i]=b[i+1]; } cursize--; return true; } int deletefixValue(int x) { for(int i=0;i<cursize;i++) { if(x==b[i]) { deleteOneitem(i); i--; } } } int deleteFromToValue(int min,int max) { for(int i=0;i<cursize;i++) { if(b[i]>=min&&b[i]<=max) { deleteOneitem(i); i--; } } } bool show() { for(int i=0;i<cursize;i++) { cout<<b[i]<<endl; } } }; int main() { IntArray array(10); array.InsertTail(1); array.InsertTail(5); array.InsertTail(2); array.InsertTail(3); array.InsertTail(4); array.deleteMinValue(array.FindminValue()); array.deletefixValue(2); array.deleteFromToValue(3,4); array.show(); return 0; }`
相关文章推荐
- 利用顺序表的操作,实现以下函数: 1)从顺序表中删除具有最小值的元素并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。
- 顺序表来实现函数:删除最小值并返回删除元素,空出位置用尾部元素来填补,删除与给定值相同的所有的元素,删除给定值s,t(s<t)之间的元素
- C++实现最小堆及插入,调整顺序,删除堆顶元素的操作
- 从一给定的顺序表L中删除下标i--j(i<=j,包括i、j)的所有元素,假定i、j都是合法的
- 给定一个只包含小写字母的字符串,删除重复的字母,每个字母只出现一次。在所有结果中,输出字典顺序最小的。
- C++实现最小堆及插入,调整顺序,删除堆顶元素的操作
- 提出支持栈的Push和Pop操作以及第三种操作FindMin的数据结构,其中FindMin返回该数据结构的最小元素 所有操作在最坏的情况下的运行时间都是O(1)
- c语言实现顺序表的插入,删除和求给定元素在表中的位序等运算
- c++中在顺序容器中访问、插入、删除元素的操作
- 堆删除最小元素的操作思路
- 设计一个算法,从顺序表中删除所有值为x的元素
- 第三周项目4 顺序表应用(删除元素在[x,y]之间的所有元素)
- 实现一个栈(元素遵守先入后出顺序),能够通过 min 方法在 O(1)时间内获取栈中的最小元素。同时,栈的基本操作:入栈(Push)、出栈(Pop),也是在O(1)时间内完成的
- C++ 顺序容器的操作(6) 删除元素 erase、clear、pop_back、pop_front
- C++语法基础--顺序容器(三)--关系操作符,容器大小的操作,访问元素,删除元素,查找元素
- 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
- 设计删除顺序表中【x,y】中的所有元素算法
- 最小堆操作(元素的添加和删除)
- 顺序容器:删除元素的操作
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有