利用顺序表实现集合的并运算
来源:互联网 发布:js怎么让按钮不可点击 编辑:程序博客网 时间:2024/05/21 16:33
/*利用顺序表实现集合的并运算*/#include <iostream>#include<algorithm>#include <conio.h>#include<stdlib.h>#include<time.h>using namespace std;const int N=20;template <class DataType>class SeqList {private: DataType* list; int MaxSize; int size;public: SeqList(int max); //构造函数,初始化得到一个容量为max的空表 ~SeqList(); //析构函数,释放线性表占用的存储空间 int Size(); //求线性表的长度 int Maxsize(); //求线性表的最大元素个数 int Find(const DataType& x); //在线性表中查找元素x DataType GetData(int i); //取线性表的第i个元素 void Insert(const DataType& x); //若有序表中不存在x,则插入使得表仍然有序;否则不插入 void Delete(int i); // 删除第i个元素 void Print(); void operator =(const SeqList<DataType>& other); SeqList<DataType> operator +(const SeqList<DataType>& other); };template <class DataType>int SeqList<DataType>::Find(const DataType& x){for(int i=0;i<size;++i)if(list[i]==x)return 0;return 1;}template <class DataType>SeqList<DataType>::SeqList(int max) { list = new DataType[max]; MaxSize = max; size = 0;}template <class DataType>SeqList<DataType>::~SeqList() { delete []list;}template <class DataType>int SeqList<DataType>::Size() { return size;}template <class DataType>int SeqList<DataType>::Maxsize() { return MaxSize;}template <class DataType>DataType SeqList<DataType>::GetData(int i) { return list[i];}template <class DataType>void SeqList<DataType>::Insert(const DataType& x) { if(size==MaxSize) { cout<<"顺序表已满,插入错误!"<<endl; exit(0); } //请在此处完成函数 //注意:若表中已有x,则不需要插入;否则,按序插入 if(Find(x)) list[size++]=x; if(size!=1) for(int i=size-1;i>0;--i) if(list[i]<list[i-1])swap(list[i],list[i-1]); }template <class DataType>void SeqList<DataType>::Print() { for(int i=0;i<=size-1;i++) cout<<list[i]<<" "; cout<<endl;}template <class DataType> void SeqList<DataType>::operator =(const SeqList<DataType>& other){ //重载操作符=,请在此处实现函数MaxSize = other.MaxSize; size = other.size;for(int i=0;i<size;++i)list[i] = other.list[i];}template <class DataType> SeqList<DataType> SeqList<DataType>::operator +(const SeqList<DataType>& other){ //重载操作符+,请在此处实现函数MaxSize += other.MaxSize; for(int i=0;i<other.size;++i) this->Insert(other.list[i]);return *this;}void main(){SeqList<int> L1(N),L2(N),L3(N);srand((unsigned)time(NULL));while(L1.Size()<N/2){ L1.Insert(int(rand())%100);}L1.Print();while(L2.Size()<N/2){ L2.Insert(int(rand())%100);}L2.Print(); L3=L1+L2; L3.Print();getch();}
0 0
- 利用顺序表实现集合的并运算
- 顺序表实现集合运算
- 利用线性表的顺序结构求集合的并、交、差、补(C语言实现)
- (C)顺序表实现集合运算
- 实现顺序表的各种基本运算(利用线性表来实现)
- 利用顺序表实现的顺序队列
- 顺序表实现集合及大整数运算
- 顺序表的应用--并运算和交运算
- 利用线性表实现集合A并上B
- 顺序表实现两个集合的合并
- 利用位运算实现两个整数的加法运算,请代码实现,并作简要说明。
- 线性表的顺序储存及运算实现-------------顺序表
- 实现顺序表以及顺序表的简单运算
- 集合的运算之链表实现
- 两个链表实现集合的运算
- 顺序表中两个集合的并集
- 顺序栈的简单实现以及利用栈实现求解一位数的复合运算
- 数据结构笔记(一)线性表的顺序表示和基本操作及其顺序表实现的集合运算(A-B)U(B-A)实例
- Uva-12166 Equilibrium Mobile
- 记事本简单实现思路
- FZU 2156 Climb Stairs
- 黑马程序员 String和StringBuffer的区别
- apk openssl版本过低的问题
- 利用顺序表实现集合的并运算
- 黑马程序员 abstract class和interface的区别
- 利用顺序表实现多项式相加
- hdu 5113 Black And White
- 2015年9月9日
- Android 一个把时间转换成类似“几天前”一类模糊时间的类
- 45个实用的JavaScript技巧、窍门和最佳实践
- 移动 app 测试工具 bugtags
- Unity中使用ulua的个人经验总结