冒泡排序小结
2015-09-19 22:24
183 查看
冒泡排序,原理想起来并不难,核心便是四五行代码,若是用python,更是简约。然而,在自己写起来,仍然并不顺手,总是会纠结于下标的游动。
今天便是如此,这不是我第一次写冒泡算法了,之前用python写过一次,代码如下:
今天便是如此,这不是我第一次写冒泡算法了,之前用python写过一次,代码如下:
dist=len(list) for j in range(0,dist): for i in range(0,dist-1): if list[i]>list[i+1]: t=list[i] list[i]=list[i+1] list[i+1]=t return list 外层循环控制着内层循环的次数。也即为我们常说的那个趟数。 内层只需要相邻比较即可,且注意不要越界,内层用最后一个是为dist-2,因为下面代码会比较dist-1,这个常常在实际写作中犯错。 以下用C代码实现的: ```#include<stdio.h> int main() { int a[100]; int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } //bubble sort //n-1 times for (int i = 0; i < n-1; i++) { for (int j = 0; j < n - i - 1 ; j++) { if (a[j] > a[j+1]) { int t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } for (int k = 0; k < n; k++) { printf("%d ", a[k]); } //printf("\n"); } return 0; }
相关文章推荐
- Java记录 -40- 定义常量最佳方法
- redis 安装 以及php扩展安装
- LintCode 比较字符串
- ci
- c++
- 解决com.android.dex.DexException: Multiple dex files define Lcom/google/gson/JsonSerializer;
- python2和python3中的range区别
- 求123456789=x成立个数
- 解决java.net.MalformedURLException: unknown protocol: c问题
- 注册电气工程师考试,专业部分,供配电教材,推荐
- 黑马程序员-----多线程
- protocol
- php
- qt
- 今日学习总结9.19
- 成员变量和局部变量
- RecyclerView
- Windows消息响应机制
- sql
- 你从来不知道你可以多优秀