求解:C++ 用选择排序法对n个整数排序(降序)

用C++ ,谢谢了。因为我c++不是很好,有注释最好了。太感谢了。

第1个回答  推荐于2017-09-24
#include <iostream>
using namespace std;
int main()
{
int a[4];
int i,j,t,min;
cout<<"input 4 numbers:"<<endl;
for(i=0;i<4;i++)
cin>>a[i]; //输入四个数
for(i=0;i<=3;i++)//外层循环,每个数都要比较
{
min=i;
for(j=i+1;j<=4;j++)//内层循环,把外层的一个数分别和他后面的数比较一遍
{
if(a[min]<a[j])// 如果这个数比他后面的某一个小,就交换他们,这样每一轮比较就把剩余的 最大的数放到最前面已经排序好的队列
{
t=a[j];
a[j]=a[min];
a[min]=t;}
}
}
cout<<"the sorted numbers:"<<endl;
for(i=0;i<4;i++)//输出
cout<<a[i]<<" ";
cout<<endl;
return 0;
}本回答被提问者采纳

求解:C++ 用选择排序法对n个整数排序(降序)
cin>>a[i]; \/\/输入四个数 for(i=0;i<=3;i++)\/\/外层循环,每个数都要比较 { min=i;for(j=i+1;j<=4;j++)\/\/内层循环,把外层的一个数分别和他后面的数比较一遍 { if(a[min]<a[j])\/\/ 如果这个数比他后面的某一个小,就交换他们,这样每一轮比较就把剩余的 最大的数放...

如何用c++编写程序对整数进行降序排列?
方法步骤如下:1.首先,定义一个结构,包括数值、排名和序号。2.定义结构数组变量d,保存所有整数信息。3.接下来,定义一个自定义函数来比较整数序列中任意两个整数的大小。4.定义一个自定义函数,比较整数序列中任意两个数字的序数大小。5.在主函数中,首先定义两个整数,并保存整数个数和排名计数...

C++之如何将N个实数由大到小排序
回答:n个实数用数组a描述。 本例提供用选择排序方法与冒泡排序方法分别实现n个实数由大到小排序的函数搜索。 算法一:选择排序。 选择排序需反复进行求最大值与交换两个数这两种住房基本操作。 对a[o]、a[1]、…、a[n一1]由大到小排序:先求所有数的最大值,然后将最大值与a[o]进行交换;...

如何使用C++随机函数Rand()生成n个数,用冒泡排序法.选择排序法这两种方...
include \\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0ausing namespace std;void Maopao_sort(int array[] ,int n)\\x0d\\x0a{\/\/冒泡排序\\x0d\\x0a int tmp;\\x0d\\x0a for(int i = 0; i array[j])\\x0d\\x0a {\\x0d\\x0a small = j;\\x0d\\x0a }\\x0...

c++实现对任意数目输入整数的升序、降序排序
include<iostream.h> void main(){ int *s,temp,i,n,num;cout<<"请输入排序数个数:";cin>>num;s=new int [num];cout<<"请输入"<<num<<"个数:"<<endl;\/\/---输入--- for(i=0;i<num;i++)cin>>s[i];\/\/---排序--- for(int a=0;a<num;a++)for(int b=a+1;b<n...

降序排序用C++语言怎么排?
void SelectSort(T A[], int n){ int small;for (int i=0;i<n-1;i++){ small=i;for (int j=i+1;j<n;j++)if (A[j]<A[small])small=j;swap(A[i],A[small]);} } template<class T> void InsertSort(T A[],int n){ for (int i=1;i<n;i++){ int j=i;T ...

一个c++程序,输入一个数n,然后输入n个数,让这n个数从大到小排序的算法...
C++的STL里自带了一个叫做sort的函数。sort的复杂度是O(nlogn)。O(n^2)的冒泡与它相比简直天差地别,相比我们写的快速排序还有些优化,用起来也方便 include <iostream> include <algorithm> using namespace std;int main(){ int n,b[2000] = {0};cin>>n;for(int i = 1;i <= n;...

c++n个整数交换后排序
你说的就是二元选择排序法,给你核心代码你参考一下,前面的输入部分很简单你自己写写 void SelectSort(int r[],int n) { int i ,j , min ,max, tmp;for (i=1 ;i <= n\/2;i++) { \/\/ 做不超过n\/2趟选择排序 min = i; max = i ; \/\/分别记录最大和最小关键字记录位置 for ...

...sort(int *x,int n),利用指针采用选择法对随机数组中的10个数做...
void Sort(int * array, int length) \/*对记录数组array做简单选择排序,length为待排序记录的个数*\/ { int temp;for ( i=0 ; i< length-1 ; i++) \/\/n-1趟排序 { int index=i; \/\/假设index小标的元素最大 for ( j=i+1 ; j < length ; j++)  \/\/查找更大记录的位置 if...

...对 n 个元素的数组 a[],采用选择法从小到大排序.
依次填:j=k+1或j=i+1a[j]a[j]k!=i或k-ix,10

相似回答