C++排序,用指针对10个数进行赋值并排序(结构体)
作者:野牛程序员:2024-11-01 13:16:13 C++阅读 2275
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++闰年判断