#include <iostream>
using namespace std;
typedef int ElemType;
typedef struct Sqlist
{
ElemType *elem;
int length;
};
//初始化
void InitSqlist(Sqlist &L)
{
L.elem = new ElemType[100];
L.length = 0;
}
int CreateSqlit(Sqlist &L, int n)
{
if (L.elem == nullptr)return -1;
cout << "尾插法:" << endl;
for (int i = 0; i < n; ++i)
{
cin >> L.elem[i];
L.length++;
}
return 0;
}
//遍历
int TraSqlist(Sqlist L)
{
if (L.elem == nullptr)return -2;
for (int i = 0; i < L.length; ++i)
{
cout << L.elem[i] << " ";
}
cout << endl;
return 0;
}
int Add(Sqlist &La, Sqlist &Lb, Sqlist &Lc)
{
Lc.elem = new ElemType[100];
if (La.length > Lb.length)
Lc.length = La.length;
else
Lc.length = Lb.length;
ElemType *pa, *pb, *pc, *pa_last, *pb_last;
pa = La.elem;
pb = Lb.elem;
pc = Lc.elem;
pa_last = La.elem + La.length - 1;
pb_last = Lb.elem + Lb.length - 1;
while (pa <= pa_last && pb <= pb_last)
{
*pc++ = *pa++ + *pb++;
}
while (pa <= pa_last) *pc++ = *pa++;
while (pb <= pb_last) *pc++ = *pb++;
return 0;
}
int main()
{
Sqlist PA, PB, PC;
InitSqlist(PA);
InitSqlist(PB);
CreateSqlit(PA, 2);
CreateSqlit(PB, 3);
Add(PA, PB, PC);
cout << "PA:";
TraSqlist(PA);
cout << "PB:";
TraSqlist(PB);
cout << "PC:";
TraSqlist(PC);
system("pause");
}
青岛大学王卓老师数据结构——C++实现多项式相加
最新推荐文章于 2023-10-12 17:26:43 发布