几种简单的排序算法实现
2017-06-06 22:47
330 查看
几种简单的排序算法实现
冒泡排序
冒泡排序
void bubbleSort(int *pData,int count) { for (int i = 1;i<count;i++) { for (int j = count-1;j>=i;j--) { if (pData[j]<pData[j-1]) { int iTmp = pData[j]; pData[j] = pData[j-1]; pData[j-1] = iTmp; } } } }选择排序
void selectSort(int* list,int count) { int min,i,j; for (i = 0;i <count;i++) { min = i; for (j=i+1;j<count;j++) { if(list[i]>list[j]) min = j; } if(min != i) swap(list[i],list[min]); } }折半插入排序算法
void binary_insertion_sort(int array[], int n) { int i, j, temp, m, low, high; for (i = 1; i < n; i++) { temp = array[i]; low = 0; high = i-1; //5,36,24,10,6,12 while (low <= high) { m = (low +high) / 2; if(array[m] > temp) high = m-1; else low = m+1; } for (j = i-1; j>=high+1; j--) array[j+1] = array[j]; array[j+1] = temp; cout<<endl; } }插入排序
void InsertSort(int array[],int n) { for(int i=1;i<n;i++) { for(int j=i;j>0;j--) { if(array[j]>array[j-1]) swap(array[j],array[j-1]); else break; } } }快速排序
void quick_sort(int s[], int left, int right) { if(left<right) return; int i = left,j=right,temp = s[left],t; while(i!=j) { while(i<j && temp <= s[j]) j--; while(i<j && temp >= s[i]) i--; if (i<j) { t = s[i]; s[i]=s[j]; s[j]=t; } } s[left] = s[i]; s[i]=temp; quick_sort(s,left,i-1); quick_sort(s,i+1,right); }
相关文章推荐
- 黑马程序员——Java基础语法:几种简单的排序算法的实现
- JavaScript中几种排序算法的简单实现
- 几种排序算法的实现及简单分析
- JavaScript中几种排序算法的简单实现
- 几种排序算法的最简单实现方式
- JavaScript中几种排序算法的简单实现
- 几种排序算法的最简单实现方式
- java几种排序算法的实现及简单分析
- 001-简单的java代码实现几种排序算法(插入,快速,冒泡,选择)
- 几种排序算法java简单实现
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 几种常见排序算法实现
- 用Java实现几种常见的排序算法-Java基础-Java-编程开发
- 几种常用排序算法的c#实现(冒泡、选择、插入)
- 用Java实现几种常见的排序算法
- 几种排序算法的实现
- C++ Exercises(十五)--排序算法的简单实现
- 用Java实现几种常用的排序算法