c语言 已知两个数组,合并后排序,不开辟新的数组

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:25:30
例如 数组a 4 2 3
数组b 6 5 1
输入结果 a 1 2 3
b 4 5 6

这个应该没问题,没有仔细测试。你试试看吧。不过是C++的。你可以字节写个函数来代替这个类。

using namespace std;
template <typename T>
class Obj
{
public:
Obj(T *p1,size_t sizeofp1,T *p2,size_t sizeofp2):m_p1(p1),
m_p2(p2),
m_sizeofp1(sizeofp1),
m_sizeofp2(sizeofp2){
m_sumsize = sizeofp1+sizeofp2;
}

T& operator [](size_t index)
{
if (index > m_sizeofp1+m_sizeofp2)
{
throw std::out_of_range("out_of_range");
}
if (index<m_sizeofp1)
{
return m_p1[index];
}
else
{
return m_p2[index - m_sizeofp1];
}
}
size_t size() const
{