您的位置:首页 > 其它

菜鸟排序之选择与冒泡

2016-09-05 13:36 232 查看
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//交换
void my_swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
//冒泡排序
void my_sort(int arr[],int len)
{
int i = 0, j = 0;
for (i = 0; i < len; ++i)
for (j = 1; j < len - i; ++j)
{
if (arr[j] > arr[j -1])
{
my_swap(&arr[j], &arr[j - 1]);
}
}
}
//选择排序
void select_sort(int *arr, int len)
{
int i = 0, j = 0, min = 0;
for (i = 0; i < len; ++i)
{
min = i;
for (j = i + 1; j < len; ++j)
{
if (arr[j] < arr[min])
min = j;
}
if (min != i)
my_swap(&arr[min], &arr[i]);
}
}
int main(void)
{
int i = 0;
int arr[20] = { 0 };
srand((unsigned) time(NULL));

printf("before = ");
for (i = 0; i < 20; ++i)
{
arr[i] = rand()%100;
printf("%d ", arr[i]);
}
printf("\n");

int len = sizeof(arr) / sizeof(int);

select_sort(arr, len);
printf("after = ");
for (i  = 0; i < len; ++i)
{
printf("%d ", arr[i]);
}
printf("\n");
system("pause");
return 0;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: