#include<iostream>
using namespace std;
#define N 6 // 宏定义
// 本代码更改头文件即可变成C语言版 输入输出要改成 printf scanf
int main(){
int data[N], *pData[N], i,j, *temp;
// 表示数组的大小
int sizeOfArray = sizeof(data)/sizeof(data[0]); // 使用sizeof()函数较为安全
cout<<"please input five nums:";
// 输入原数据
for(i=0;i<sizeOfArray;i++)
cin>>data[i];
// 将原数据的地址放进指针数组中
for(i=0;i<sizeOfArray;i++)
pData[i] = &data[i];
/**
* 开始交换
* 1.数组小为5,交换次数为4(根据实际情况来定交换次数)
*/
for(i=0;i<4;i++){// 外循环
// 依次交换*pData中的5个地址
for(j=i+1;j<5;j++){// 内循环
if (*pData[i]>*pData[j]){ // 地址与地址进行比较为16进制
temp=pData[i]; // 先将要进行交换的pData[i]保存到temp中,这里需要注意temp 不能加*(此时的temp已经为指针)
pData[i] = pData[j]; // 因为pData[i] > pData[j] 所以pData[j]赋值给pData[i](赋值的时地址)
pData[j] =
C/C++从小到大排序(输入一组数)
最新推荐文章于 2023-12-02 13:40:11 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)