菜鸟排序之选择与冒泡

来源:互联网 发布:知乎是什么类型的网站 编辑:程序博客网 时间:2024/06/05 17:17
#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;}



0 0
原创粉丝点击