冒泡排序:
代码:
#include<stdio.h>
#include<stdlib.h>
//将数组元素赋予随机值方法
void initRandom(int * a,int i)
{
int j = 0;
for(;j < i;j++){
a[j] = rand();
printf("%d\n",a[j]);
}
return ;
}
//交换a,b元素的值
void swap(int* a,int* b)
{
int c;
c = *b;
*b = *a;
*a = c;
return ;
}
//冒泡排序
int * bubblesort(int *a,int m)
{
int i = 1;
int j;
for(;i <= m-1;i++){
for(j = 0;j <= m-1-i;j++){
if(a[j]<a[j+1]) swap(&a[j],&a[j+1]);
}
}
return a;
}
//创建动态大小随机数组方法
int* createArr(int i)
{
int * init_num = (int*)malloc(sizeof(int)*i);
initRandom(init_num,i);
return init_num;
}
int main()
{
int i;
printf("请输入随机数组的大小:");
scanf("%d",&i);
int * init_num = createArr(i);
init_num = bubblesort(init_num,i);
printf("\n*************************************\n");
//打印输出冒泡排序后的结果:
int j = 0;
for(;j <= i-1;j++){
printf("%d\n",init_num[j]);
}
return 0;
}
注:这里使用的随机数组是假随机数