C++排序,用指针对10个数进行赋值并排序(结构体)
作者:野牛程序员:2024-11-01 13:16:13 C++阅读 2714
C++排序,用指针对10个数进行赋值并排序(结构体)
以下是一个 C++ 程序示例,使用结构体和指针对 10 个数进行赋值并排序:
示例代码:
#include <iostream>
#include <algorithm> // 用于排序
using namespace std;
// 定义结构体
struct Number {
int value;
};
// 比较函数用于排序
bool compare(const Number* a, const Number* b) {
return a->value < b->value; // 按照值升序排序
}
int main() {
const int size = 10;
Number* numbers[size]; // 创建指向 Number 的指针数组
// 赋值
for (int i = 0; i < size; ++i) {
numbers[i] = new Number(); // 动态分配内存
cout << "请输入第 " << (i + 1) << " 个数字: ";
cin >> numbers[i]->value; // 使用指针访问值
}
// 排序
sort(numbers, numbers + size, compare);
// 输出排序结果
cout << "排序后的数字:\n";
for (int i = 0; i < size; ++i) {
cout << numbers[i]->value << " ";
delete numbers[i]; // 释放内存
}
cout << endl;
return 0;
}代码说明:
结构体定义:定义了一个
Number结构体,包含一个int类型的value成员。指针数组:创建一个指向
Number结构体的指针数组numbers。赋值:使用动态内存分配 (
new) 为每个Number创建对象,并从用户输入获取值。排序:使用
sort()函数和自定义比较函数compare()对指针数组进行排序。输出结果:打印排序后的值,并释放动态分配的内存。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++定义一个tree类,然后输入,输出
- 下一篇:c++闰年判断
