编一个程序,产生30个随机整数,存入数组,用冒泡法和选择法分别对其进行排序。要求显示排序前?><

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:44:30
编一个程序,产生30个随机整数,存入数组,用冒泡法和选择法分别对其进行排序。要求显示排序前后的数据情况,且循环结构中的数组下标应从0开始。

#include <iostream>
#include <time.h>
using namespace std;
#define NUM 30

void Select_Sort(int R[], size_t n_size)
{
size_t k;

for(size_t i = 0; i < n_size-1; i++)
{//做第i趟排序
k=i;
for(size_t j = i+1;j < n_size;j++) // 在当前无序区R[i..n_size]中选最大的
{
if(R[j] < R[k])
k = j; //k记下目前找到的最小关键字所在的位置,最小就代表最先坏掉
}
if(k != i)
{ // 交换R[i]和R[k]
swap(R[i], R[k]);
}
}
for(size_t i=0;i< n_size;i++)
cout<<" "<<R[i];
cout << endl;
}

void BubbleSort(int b[],int n)
{
int i, j;
for(i=0;i < n-1;i++)
{
for(j = n-1;j > i;j--)
{
if(b[j] > b[j-1])
swap(b[j],b[j-1]);
}
}
for(i=0;i< n;i++)
cout<<" "<<b[i];
cout << endl;
}

int _tmain(int argc, _TCHAR*