c++结构体指针编写插入排序
时间: 2024-05-25 14:08:17 浏览: 109
C++中的结构体指针可以用来进行插入排序。下面是一个例子:
假设我们有一个结构体Person,包含两个成员变量name和age。我们可以创建一个Person类型的指针数组,然后使用插入排序来对其进行排序。
```
#include <iostream>
using namespace std;
struct Person {
string name;
int age;
};
void insertionSort(Person* arr[], int n) {
for (int i = 1; i < n; i++) {
Person* key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j]->age > key->age) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
int main() {
Person* arr;
arr = new Person{"Tom", 25};
arr = new Person{"Jack", 21};
arr = new Person{"Alice", 23};
insertionSort(arr, 3);
for (int i = 0; i < 3; i++) {
cout << arr[i]->name << " " << arr[i]->age << endl;
}
return 0;
}
```
在这个例子中,我们首先定义了一个Person结构体,然后创建了一个指向Person类型的指针数组arr。在main函数中,我们给数组赋值,并将其传递给insertionSort函数进行排序。排序使用了插入排序算法,将年龄从小到大排序。最后,我们输出排序后的结果。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)