编程对10个浮点数排序,排序后用浮点格式显示。
#include<iostream>
#include<vector>
using namespace std;
void display(vector<double> array)
{
for(auto i=array.begin(); i != array.end(); i++)
{
cout << *i << " ";
}
}
void QuickSort(vector<double> &array,int low,int high){ //快排
if(low>=high){ //若待排序序列只有一个元素,返回空
return ;
}
int i=low; //i作为指针从左向右扫描
int j=high; //j作为指针从右向左扫描
double key=array[low];//第一个数作为基准数
while(i<j){
while(array[j]>=key&&i<j){ //从右边找小于基准数的元素 (此处由于j值可能会变,所以仍需判断i是否小于j)
j--; //找不到则j减一
}
array[i]=array[j]; //找到则赋值
while(array[i]<=key&&i<j){ //从左边找大于基准数的元素
i++; //找不到则i加一
}
array[j]=array[i]; //找到则赋值
}
array[i]=key; //当i和j相遇,将基准元素赋值到指针i处
QuickSort(array,low,i-1); //i左边的序列继续递归调用快排
QuickSort(array,i+1,high); //i右边的序列继续递归调用快排
}
int main()
{
vector<double> array = {1.1,5.5,2.2,4.4,8.8,6.6,3.3,2.0,99.9};
cout << "未排序:" << endl;
display(array);
QuickSort(array, 0, array.size()-1);
cout << "\n排序后:" << endl;
display(array);
return 0;
}
输出十进制、八进制、十六进制显示的数据0-15。
#include<iostream>
using namespace std;
int main()
{
cout << "十进制数据:";
for(int i=0; i<15; i++){ cout << i+1 << " "; }
cout << "\n八进制数据:";
for(int i=0; i<15; i++){cout << oct << i+1 << " ";}
cout << "\n十六进制数据:";
for(int i=0; i<15; i++){cout << hex << i+1 << " ";}
return 0;
}