#include <stdio.h>
#include <stdlib.h>
void show_array(int * a, int len);
int main()
{
// 制造数组
int i, j;
int temp, len;
scanf("%d", &len);
int array[len];
for (i=0; i<len; i++)
{
scanf("%d", array+i);
}
//选择排序 一句话就是:一和一摞
/*
for (i=0; i<len; i++)
{
for (j=i; j<len; j++)
{
//逆序 从大到小
if (array[j] > array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
*/
//冒泡排序 一句话就是两两之间
for (i=0; i<len; i++)
{
for (j=0; j<len-1-i; j++)
{
//逆序 从大到小 就是把最小的放在右边 当然也可以想是把大的放在左边
//注意得从相反的一边进行冒泡
if (array[j+1] > array[j])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
show_array(array, len);
return 0;
}
void show_array(int * a, int len)
{
int i;
for (i=0; i<len; i++)
{
printf("%d", *(a+i));
}
}
C语言实现冒泡与选择排序,并总结区别,便于记忆。
最新推荐文章于 2024-07-15 12:54:34 发布