菜鸟排序之选择与冒泡
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; }
相关文章推荐
- Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等 .
- C语言排序实例(选择、冒泡、插入、折半、快速)
- java面试准备之基础排序——冒泡与选择排序
- 排序——冒泡、归并、快速、选择、插入、堆
- Java数组排序总结(冒泡,选择,插入,希尔)
- 简单排序:冒泡、选择、插入
- 兴趣使然,冒泡、选择排序结合回调函数写的小程序,望多留言评论,本人萌新,多提意见,虚心采纳,谢谢
- 排序(1)--冒泡,简单选择,快速,简单插入
- 数据结构各种排序法及核心思想(冒泡、鸡尾酒、选择、插入、二分法、希尔、堆、归并、快速)
- Java--冒泡、选择排序,二分查找
- 数组排序(冒泡、选择、插入、快排、希尔、桶排序、堆排序)
- Python实现冒泡,插入,选择排序简单实例
- 基本数据结构算法(排序:冒泡,选择)
- Java数组排序总结(冒泡,选择,插入,希尔)
- 冒泡和选择排序的理解
- 冒泡、插入、选择、快速排序
- 单链表冒泡、选择排序的c语言实现
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- 基础算法学习(一)__几种排序:选择、插入、冒泡和快排
- 冒泡、选择、插入排序的具体分析