我们数据结构与算法教材上使用的是struct,这是我自己写的简单的一道题目就是用了下class。还在学习的学生党一枚,记录一下自己的作业,如果有人看的话,欢迎指正!!!
#include<iostream>
using namespace std;
class Mylist
{
public:
int size;
int* p = new int[size];
Mylist(int n):size(n){}
void full();
void print();
void Delete();
};
void Mylist::full()
{
for (int n=0; n <size; n++)
{
cin >> p[n];
}
cout << "初始化成功!" << endl;
}
void Mylist::print()
{
for (int n = 0; n < size; n++)
{
cout << p[n];
}
cout << endl;
}
void Mylist::Delete()
{
delete p;
cout << "数组释放成功!" << endl;
}
void merge(Mylist a, Mylist b, Mylist c)
{
int p = 0, q = 0;
for (int m = 0; m < c.size; m++)
{
if (p < a.size && q < b.size)
{
if (a.p[p] <= b.p[q])
{
c.p[m] = a.p[p];
p++;
}
else
{
c.p[m] = b.p[q];
q++;
}
}
else
{
if (p >= a.size)
{
c.p[m] = b.p[q];
q++;
}
else if (q >= b.size)
{
c.p[m] = a.p[p];
p++;
}
}
}
}
int main()
{
int a ,b;
cin >> a;
Mylist L1(a);
L1.full();
L1.print();
cin >> b;
Mylist L2(b);
L2.full();
L2.print();
Mylist L3(a + b);
merge(L1,L2,L3);
L3.print();
L1.Delete();
L2.Delete();
L3.Delete();
}