随机数生成数组,选择排序进行输出
菜鸡第一篇博客,有错误或者有更简单的方法的话,希望各位大佬指出,感激不尽~
#include <iostream>
#include<ctime>
using namespace std;
int main()
{
const int size = 10;
srand(time(0));//srand函数,让每次生成的数据不一样
int list[size];
for (int i = 0; i < size; i++)
{
list[i] = rand() % 100;
}
//生成一个随机数组
for (int j = 0; j < size-1; j++)//注意这里是size-1,因为size个元素,只需要比较size-1次
//如果只有两个元素,就只需要比较一次
{
int min = list[j];//首先将第一个元素赋值给最小值,其他元素依次进行比较
int minindex = j;
for (int k = j+1; k < size; k++)
{
if (min > list[k])
{
min = list[k];//获取每次循环里的最小数
minindex = k;//后面会用到元素的下标
}
}
if (j != minindex)
{
list[minindex] = list[j];//如果不是每次循环的第一个元素最小
//就把最小值和第一个元素记行交换
list[j] = min;//将最小值赋给每次循环的第一和元素
}
}
for (int s = 0; s < 10; s++)
{
cout << list[s] << endl;
}
return 0;
}