怎樣用指針給一組無序的數據排序

/*
 *對於一組凌亂的數據,如何給它們排序?
 *可用指針將它們(地址)組合成一個數組,然後進行比較
 */

#include <iostream>
using namespace std;

int main()
{
const int a = 10, b = 45, c = 23, d = 78, e = 90, f = 7;
const int* p[6] = {&a, &b, &c, &d, &e, &f};


cout << "未序:" << endl;
for(int i = 0; i != 6; i++)
cout << *p[i] << ' ';
cout << endl;
cout << "未序地址:" << endl;
for(int i = 0; i != 6; i++)
cout << p[i] << ' ';
cout << endl;

//排序一:
/*for(int i = 0; i != 6; i++)
{
for(int j = 1; j != 6-i; j++)
if(*p[j] < *p[j-1])
swap(p[j],p[j-1]);
}*/
//排序二:
for(int i = 0; i != 6; i++)
{
for(int j = i+1; j != 6; j++)
{
if(*p[j] < *p[i])
swap(p[j],p[i]);
}
}

cout << "有序:" << endl;
for(int i = 0; i != 6; i++)
cout << *p[i] << ' ';
cout << endl;
cout << "有序地址:" << endl;
for(int i = 0; i != 6; i++)
cout << p[i] << ' ';
cout << endl;
return 0;
}









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章