简单算法学习笔记二
2016-08-02 18:02
162 查看
(一)冒泡排序(升序)
对n个整数进行排序。
算法思想:
(1)从下标为0的元素开始,对两两相邻的元素进行比较,如果前一个元素大于后一个元素,则交换这两个元素的值,在n-1次比较后,这组整数中最大的元素就被移动到最后(下标为n-1);
(2)对下标为0到下标为n-2的n-1个元素重复(1)中的比较和交换过程,最终第二大的元素被移动到下标为n-2的单元;
(3)对剩下的n-2个数重复上面的比较和交换操作,在n-1轮操作后,n个整数升序排序完成。
示例代码:
对n个整数进行排序。
算法思想:
(1)从下标为0的元素开始,对两两相邻的元素进行比较,如果前一个元素大于后一个元素,则交换这两个元素的值,在n-1次比较后,这组整数中最大的元素就被移动到最后(下标为n-1);
(2)对下标为0到下标为n-2的n-1个元素重复(1)中的比较和交换过程,最终第二大的元素被移动到下标为n-2的单元;
(3)对剩下的n-2个数重复上面的比较和交换操作,在n-1轮操作后,n个整数升序排序完成。
示例代码:
#include <stdio.h> void BubbleSort(int a[],int n); void main() { int x[]={5,7,0,8,1,4,9}; BuubleSort(x,7); return ; } void BubbleSort(int a[],int n) { int i,j,k,t; for(i-0;i<n-1;i++) { for(j=0;j<n-1-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(k=0;k<n;k++) printf("%d",a[k]); printf("\n"); } }
相关文章推荐
- MIT 6.00 1x Lecture 3 - Simple Algorithms 简单算法 学习笔记
- 数据结构学习笔记一:简单排序与查询算法
- 【算法学习笔记】53.单调队列的简单应用 SJTU OJ 1034 二哥的金链
- 【算法学习笔记】91.简单森林计数 SJTU OJ 1045 二哥的家族
- 简单算法学习笔记一
- 图的简单表示-算法学习笔记十七
- OpenCV 2 学习笔记(8): 利用邻域处理图像与简单的算术图像处理算法:图像滤波与加权和
- 深度学习笔记(二):简单神经网络,后向传播算法及实现
- 简单排序算法学习笔记-冒泡排序算法详解
- 特征提取算法简单学习笔记
- Scala学习笔记:数组操作与简单算法示例
- 【学习笔记】简单寻路算法(低效率)
- 两种简单算法 学习笔记
- 数据结构与算法学习笔记——堆栈及其应用(10以内简单四则计算器)
- Java开发学习笔记之二:一个简单的Servlet
- Java 线程同步问题 生产者-消费者 算法实现 -Java学习笔记(29)
- xslt学习简单笔记
- C++精华(STL)学习笔记之算法
- 基础算法学习笔记(二)----动态规划
- 学习Altas 笔记[JS简单调用服务端方法]