经典排序算法回顾:插入排序,冒泡排序
2014-10-30 22:38
393 查看
1.冒泡排序:
2.插入排序:(顺带看了一遍,希尔不稳定排序算法原理)
//第二种方法是通过不遍历有序数组来减少遍历次数,还有第三种方法:同时左右遍历,减少遍历次数 //sort the array bubbleWay:(the normal way) - (void) InsertSort(int *a){ int n = strlen(a); for(int i; i<n; i++){ for(int j; j<n-i-1; j++){ if(r[j]>r[j+1]){ int tmp = a[j]; a[j] = a[j+1]; a[j+1] =tmp; } } } } //sort the array bubleWay:(the better way) - (void) InsertSort(int *a){ int n = strlen(a); int i = n-1; while(i>0){ int pos = 0; for(int j=0; j<i; j++){ if(r[j]>r[j+1]){ pos = j; int tmp = r[j]; r[j] = r[j+1]; r[j+1] = tmp; } } i = pos; } }
2.插入排序:(顺带看了一遍,希尔不稳定排序算法原理)
//还有二分插入,2-路插入排序,只是按照插入的方式不一样的更加高效方法 //交换的方式可以位移√,可以直接交换 1 //sort the array insertWay:(the normal way,the second bubbleWay) - (void) InsertSort(int *a){ int n = strlen(a); if(a == nil || n <= 1)return; for(int i=1; i<n; i++){ int j = i; int tmp = a[i]; while(j && temp<a[j-1]){ a[j]=a[j-1]; j--; } a[j]=a[j-1]; } }
相关文章推荐
- 排序算法(快速排序、直接插入排序、直接选择、冒泡排序)
- 数据结构与算法:七种排序算法总结(冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序、快速排序)
- 【数据结构】排序算法(一)之直接插入排序,冒泡排序
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- 经典的排序算法--选择排序与冒泡排序
- python排序算法-冒泡排序,选择排序,直接插入排序,希尔排序,归并排序,快速排序,堆排序
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- C#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插入排序,希尔排序)
- 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序
- 经典排序算法python回顾之四 二叉查找树排序
- 排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)
- 三种最简单的排序算法(直接插入排序、冒泡排序、简单选择排序)
- 插入排序是基本排序算法中最好的一种,虽然插入排序也是需要O(N^2)时间,但它比冒泡排序快一倍,比选择排序还要快点。
- C++实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序