冒泡、选择排序

题目描述:
声明10个元素的整型数组
(1)给数组元素赋值(两位随机整数)
(2)输出该数组的元素
用冒泡法升序排序并输出
用选择法降序排序并输出

#include<iostream>
#include<stdlib.h>
#include<time.h>

int main(void){
	int a[10];
	int i,j;
	srand(time(NULL));
	for(i=0;i<10;i++)
		a[i]=rand()%90+10;
	cout<<"该数组的10个元素为:"<<endl;
	for(i=0;i<10;i++)
		std::cout<<a[i]<<' ';
	std::cout<<std::endl;
	std::cout<<"冒泡法升序排序:"<<std::endl;
	int temp;
	for(i=0;i<=8;i++){
		for(j=0;j<=8;j++){
			if(a[j]>a[j+1]){
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;	
			}
		}
	}
	for(i=0;i<10;i++)
		std::cout<<a[i]<<" ";
	std::cout<<std::endl;
	std::cout<<"选择法降序排序:"<<std::endl;
	int max,max_k;
	for(i=0;i<=8;i++){
		max=a[i];
		max_k=i;
		for(j=i;j<10;j++)
			if(a[j]>max){
				max=a[j];
				max_k=j;
			}
		temp=a[i];
		a[i]=a[max_k];
		a[max_k]=temp;
	}
	for(i=0;i<10;i++)
		std::cout<<a[i]<<" ";
	std::cout<<std::endl;
}

运行结果:

原文地址:https://www.cnblogs.com/izzwhf/p/10707551.html