8 11 22 33 44 55 66 88 99
创建两个对象,分别存储着两组数据,其中A对象通过调用add方法,传B对象,将B对象的数据存入A中,A中的list数组进行排序然后输出。
- #include
- #include
- #include
- using namespace std;
- #define ok 0
- #define error -1
- // 顺序表类定义
- class SeqList
- {
- private:
- int* list; // 元素数组
- int maxsize; // 顺序表最大长度
- int size; // 顺序表实际长度
- public:
- SeqList(); // 构造函数
- ~SeqList(); // 析构函数
- int list_size() {
- return size;
- }; // 获取顺序表实际长度
-
- void set(int length) {
- this->size = length;
- for (int i = 0; i < length; i++) {
- cin >> *(list + i);
- }
- }//用于初始化数组
-
- void add(SeqList *t) {
- for (int i = size; i < size + t->size; i++) {
- *(list + i) = *(t->list + i - size);
- }
- for (int i = 0; i < size + t->size; i++) {
- for (int j = i; j < size + t->size; j++) {
- if (*(list + i) > *(list + j)) {
- int temp;
- temp = *(list + i);
- *(list + i) = *(list + j);
- *(list + j) = temp;
- }
- }
- }
- size += t->size;
- cout << size << " ";
- list_display();
- }
-
- void list_display() {
- for (int i = 0; i < size; i++) {
- cout << *(list + i)<<" ";
- }
- cout << endl;
- }; // 输出整个顺序表
- };
- SeqList::SeqList()
- {
- maxsize = 1000;
- size = 0;
- list = new int[maxsize];
- }
- SeqList::~SeqList()
- {
- delete []list;
- }
-
- int main() {
- int a, b;
- SeqList *q = new SeqList;
- SeqList *p = new SeqList;
- cin >> a;
- p->set(a);
- cin >> b;
- q->set(b);
- p->add(q);
- return 0;
- }