排序算法
来源:互联网 发布:天猫魔盒用什么软件 编辑:程序博客网 时间:2024/06/08 09:47
#include <iostream>
#include<set>
using namespace std;
#define N 100
int main(int argc, char** argv) {
int n; //输入需要进行排序的元素个数
cin>>n;
std::multiset<int> s1; //定义一个集合,multiset类型的,此类型元素可以重复
int a[N]; //用于获取用户输入的元素
int b[2]; //b[2]用于存放最小值和最大值,每次取一最小一最大,集合删除此两个元素后,再取最小最大值,指导集合元素空
int c[N]; //用于存放排好序的元素
int count=0;
set<int>::iterator ii;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){ //开始插入元素,数组先获取,在插入到集合中
s1.insert(a[i]);
}
for(ii=s1.begin();ii!=s1.end();ii++)
cout<<(*ii)<<" ";
b[0]=a[0]; //b[0]初始化
b[1]=a[0]; //b[1]初始化
while(s1.size()>0){ //判断集合元素非空
#include<set>
using namespace std;
#define N 100
int main(int argc, char** argv) {
int n; //输入需要进行排序的元素个数
cin>>n;
std::multiset<int> s1; //定义一个集合,multiset类型的,此类型元素可以重复
int a[N]; //用于获取用户输入的元素
int b[2]; //b[2]用于存放最小值和最大值,每次取一最小一最大,集合删除此两个元素后,再取最小最大值,指导集合元素空
int c[N]; //用于存放排好序的元素
int count=0;
set<int>::iterator ii;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){ //开始插入元素,数组先获取,在插入到集合中
s1.insert(a[i]);
}
for(ii=s1.begin();ii!=s1.end();ii++)
cout<<(*ii)<<" ";
b[0]=a[0]; //b[0]初始化
b[1]=a[0]; //b[1]初始化
while(s1.size()>0){ //判断集合元素非空
for(ii=s1.begin();ii!=s1.end();ii++){
if(b[0]>*ii){ //比较大小,集合中的元素依次与b[0]做比较,小的放入b[0]
b[0]=*ii;
}
if(b[1]<*ii){ //比较大小,集合中的元素依次与b[1]做比较,大的放入b[0]
b[1]=*ii;
}
}
if(count<=n/2+1){
if(b[0]>*ii){ //比较大小,集合中的元素依次与b[0]做比较,小的放入b[0]
b[0]=*ii;
}
if(b[1]<*ii){ //比较大小,集合中的元素依次与b[1]做比较,大的放入b[0]
b[1]=*ii;
}
}
if(count<=n/2+1){
c[count]=b[0]; //将每次最小值从前往后赋给数组c
c[n-count-1]=b[1]; //将最大值从后往前赋给数组c
count++;
}
s1.erase(b[0]); //删除选出来的最小值
s1.erase(b[1]); //删除选出来的最大值
}
for(int i=0;i<n;i++){ //输出排好序的数组c
cout<<c[i]<<" ";
}
return 0;
}
c[n-count-1]=b[1]; //将最大值从后往前赋给数组c
count++;
}
s1.erase(b[0]); //删除选出来的最小值
s1.erase(b[1]); //删除选出来的最大值
}
for(int i=0;i<n;i++){ //输出排好序的数组c
cout<<c[i]<<" ";
}
return 0;
}
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- Visual Studio的调试技巧
- Apache Ignite 入门(1) hello world
- write()的奥秘
- Hibernate的检索策略和优化
- Zookeeper Api(java)入门
- 排序算法
- Shell排序(数组)
- Java基本数据类型和运算符
- java求平均数
- KNN K最近邻算法
- HTTP(超文本传输协议)
- linux下编译出现tmp空间不足解决办法
- 模板函数的使用
- linux ioctl()函数详解