算法基础1:冒泡排序
来源:互联网 发布:mac常用软件 编辑:程序博客网 时间:2024/05/17 14:14
#include <stdio.h>#define MAXLEN 100void swap(int* a, int* b);void bubbleSort(int arr[], int length); // 递归版void bubbleSort2(int arr[], int length); // 非递归版void showSeq(int arr[], int length); // 显示序列int main(){ int i, n, nums[MAXLEN]; while (1 == scanf("%d", &n)) { for (i = 0; i < n; i++) scanf("%d", &nums[i]); showSeq(nums, n); // bubbleSort(nums, n); bubbleSort2(nums, n); showSeq(nums, n); } return 0;}void swap(int* a, int* b){ int temp = *a; *a = *b; *b = temp;}void bubbleSort(int arr[], int length) // 递归版{ if (1 == length) return; // 长度为1时为平凡情况 int i; for (i = 1; i < length; i++) if (arr[i-1] > arr[i]) swap(&arr[i-1], &arr[i]); bubbleSort(arr, length - 1);}void bubbleSort2(int arr[], int length) // 非递归版{ int i, sorted = 0; while (!sorted) { sorted = 1; for (i = 1; i < length; i++) { if (arr[i-1] > arr[i]) swap(&arr[i-1], &arr[i]); sorted = 0; } length--; // 待排序长度减一 }}void showSeq(int arr[], int length){ int i = 0; while (i < length) printf("%d ", arr[i++]); putchar('\n');}
0 0
- 算法基础1:冒泡排序
- 基础算法之排序(1)--冒泡排序
- 【算法基础】冒泡排序
- 算法基础-冒泡排序
- 基础算法 冒泡排序
- 基础算法 - 冒泡排序
- 基础算法-冒泡排序
- 算法基础--冒泡排序
- 【算法基础】冒泡排序
- 基础算法---冒泡排序法
- 基础算法之冒泡排序
- 算法基础之冒泡排序
- 算法基础之冒泡排序
- 基础算法之 冒泡排序
- 基础算法之排序(1)--冒泡排序 改进
- 算法基础之排序篇-冒泡排序
- 基础算法--排序: 之冒泡排序
- 【基础算法】选择排序与冒泡排序
- 计算机图形学09一一OpenGL 显示列表
- iOS-hitTest:withEvent:在高德地图中的应用
- MySQL源码安装
- 这些Javascript知识点,面试和平时开发都需要
- [Mac]如何在Finder标题栏显示当前文件夹路径?
- 算法基础1:冒泡排序
- Android adb连接遇上的坑
- Unity版本与虚拟现实头盔Deepoon大朋版本测试
- 【转载】Java 8新特性终极指南
- 深入理解php,lamp,php与计算机硬件
- 获取全局Context
- 自学小笔记
- flask源码阅读 预热
- Ubantu下安装VS Code