数据结构通讯录顺序存储方式
时间: 2023-06-30 16:21:17 浏览: 111
数据结构之c语言通讯录
顺序存储方式通常使用数组实现,我们可以定义一个结构体来表示通讯录中的一个联系人,然后将多个联系人存储在数组中。以下是一个简单的C++代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
const int MAX_SIZE = 100; // 最大存储容量
struct ContactInfo {
string name;
string phone;
string email;
};
int main() {
ContactInfo contacts[MAX_SIZE]; // 定义通讯录数组
int size = 0; // 当前通讯录大小
// 添加联系人
ContactInfo person1 = {"Person1", "1234567890", "person1@example.com"};
contacts[size++] = person1;
ContactInfo person2 = {"Person2", "0987654321", "person2@example.com"};
contacts[size++] = person2;
// 查询联系人
string name = "Person1";
for (int i = 0; i < size; i++) {
if (contacts[i].name == name) {
cout << "Phone: " << contacts[i].phone << endl;
cout << "Email: " << contacts[i].email << endl;
break;
}
}
// 删除联系人
name = "Person2";
for (int i = 0; i < size; i++) {
if (contacts[i].name == name) {
for (int j = i; j < size - 1; j++) {
contacts[j] = contacts[j + 1];
}
size--;
break;
}
}
return 0;
}
```
在这个示例中,使用了一个`ContactInfo`结构体来表示一个联系人的信息。通讯录数组`contacts`的大小被定义为`MAX_SIZE`,可以根据实际需要进行调整。添加联系人时,使用`size`变量来记录当前通讯录大小,每次添加联系人后,需要将`size`加1。查询联系人时,使用一个循环遍历整个通讯录数组,找到对应联系人的信息后输出即可。删除联系人时,也需要遍历整个通讯录数组,找到对应联系人的位置后,将后面的联系人依次向前移动,最后将`size`减1即可。
阅读全文