数据结构的作业,先放在这,以后有空就看一下。
- 查找&删除:按姓名,分别进入对应程序,查找到的信息单行显示,删除失败不进行任何改变。
- 插入:输入需要插入的人数和分别的姓名和电话号码来进行插入,人数超过初始化开辟的空间时,申请另一片空间,姓名重复时,提示重新输入。
- 显示:界面显示最新的联系人信息以及联系人数量。
- 销毁:退出时先销毁通讯录。
#include <string>
#include <iostream>
#define DEFAULTLENGTH 15
using namespace std;
typedef struct People {
string name;
string number;
}People;
typedef struct PhoneList {
People* data;
int maxlength;
int length;
}PhoneList;
int initPList(PhoneList& PL) {
PL.data = new People[DEFAULTLENGTH];
PL.maxlength = DEFAULTLENGTH;
PL.length = 0;
return 0;
}
int insertOne(PhoneList& PL, People a) {
if (PL.length == (int)(PL.maxlength * 0.7)) {
People* newP = new People[PL.maxlength = PL.maxlength + DEFAULTLENGTH];
People* old = PL.data;
for (int i = 0; i < PL.length; i++) {
newP[i