c语言版本的冒泡法
2014-07-19 09:16
260 查看
#include <stdio.h> #include <stdbool.h> int main(int argc, const char *argv[]) { int arr[] = {2, 5, 3, 9, 1, 11, 4}; bool sorted = false; // 设定一个标记状态的变量, 用于控制循环; int arrCount = sizeof(arr)/sizeof(arr[0]); while(!sorted) { sorted = true; for(int i = 0; i < arrCount-1; ++i) { if(arr[i] > arr[i+1]) // 比较相邻两个元素的大小; { sorted = false; // 如果顺序有误, 将sorted变量设定为false, 然后执行位置互换操作; int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } for(int i = 0; i < arrCount; ++i) { printf("%d\t", arr[i]); } putchar('\n'); return 0; } // 第一次循环后: {2, 3, 5, 1, 9, 4, 11} // 第二次循环后: {2, 3, 1, 5, 4, 9, 11} // 第三次循环后: {2, 1, 3, 4, 5, 9, 11} // 第四次循环后: {1, 2, 3, 4, 5, 9, 11}
相关文章推荐
- 常见排序算法(冒泡,选择,快速)的C语言实现
- 常见排序算法(冒泡,选择,快速)的C语言实现
- 【转载】MFCC特征提取(C语言版本)
- 541. Reverse String II(C语言版本)
- C语言之改进的冒泡
- 常见排序算法(冒泡,选择,快速)的C语言实现
- 版本控制, C语言的两个宏, __DATE__, __TIME__, VS2005带参运行程序
- UNIX网络编程之epoll 的accept , read, write(重要) C语言版本
- 版本控制, C语言的两个宏, __DATE__, __TIME__, VS2005带参运行程序
- C语言实现冒泡、插入、选择、快速排序
- 1602动态显示字符--C语言版本
- 利用C语言版本的数据库制作一个学生成绩管理系统
- C语言小游戏:三字棋(增强版本)
- 二叉查找树实现(C语言版本)
- 设计模式初探 行为模式 观察者模式 c语言 版本实现
- C语言版本socket server
- 常见的字符串匹配算法对比实现C语言版本
- 单链表冒泡、选择排序的c语言实现
- 数据结构-数组排序(冒泡 选择 插入 归并(合并有序数组))-C语言
- C语言-冒泡,选择排序