随机生成1000个0-100以内的整数,使用选择排序法按降序排序 求编程
#include <stdio.h>
#include<time.h>
void Bubble_Sort(int a[],int n) //冒泡排序
{
int change=1;
for (int i=n-1;i>=1&&(change==1);--i)
{
change=0;
for (int j=0;j<i;++j)
{
if (a[j]>a[j+1])
{
int tem=a[j];
a[j]=a[j+1];
a[j+1]=tem;
change=1;
}
}
}
}
void Select_Sort(int a[],int n)//选择排序
{
for (int i=0;i<n;++i)
{
int k,h,tem=101;
for (int j=i;j<n;++j)
{
if (a[j]<tem)
{
tem=a[j];
k=j;
}
}
if (a[i]!=tem)
{
h=a[i];
a[i]=tem;
a[k]=h;
}
}
}
void main()
{
srand(time(0));
int a[10000];
for (int j=0;j<10000;j++)
{
a[j]=rand()%100;
}
/*Bubble_Sort(a,10000);*/
Select_Sort(a,10000);
for (int i=1;i<10000;++i)
{
printf("%d ", a[i-0]);
if (i % 50 == 0)
{
printf("\n");
}
}
}
冒泡选择两个函数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void SlectSort(int t[],int n)//简单选择排序
{
int min;
int i,j;
int tem;
for(i=0;i<n;i++)
{
min=i;//最小值下标初值设为i
for(j=0;j<n;j++)
{
if(t[min]>t[j])
{
min=j;
}
//交换t[i]和t[j]
tem=t[i];
t[i]=t[min];
t[min]=tem;
}
}
}
int main()
{
int n=1000;
int t[1000];
srand((int)time(NULL));
int i;
for( i = 0; i < n; i++)//随机数数组(1<velu<100)
{
t[i] = rand()%100;
}
SlectSort(t,n);
for( i = 0; i < n; i++)
{
printf("%d ",t[i]);
}
return 0;
}