排序算法总结
来源:互联网 发布:营销软件官网 编辑:程序博客网 时间:2024/05/16 12:10
- 插入排序
稳定排序, 复杂度 n^2
public static void insertSort(int []arr) { int i = 0, j = 0, temp = 0; for(i = 0; i < arr.length - 1; i++) for(j = i + 1; j > 0; j--) { if(arr[j] >= arr[j-1]) break; temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } }
- 快速排序
不稳定排序, 复杂度nlog(n)
public static void swap(int indexOne, int indexTwo, int []arr) { int temp = 0; temp = arr[indexOne]; arr[indexOne] = arr[indexTwo]; arr[indexTwo] = temp; }public static void quickSort(int start, int end, int []arr) { if(start >= end) return; int mid = arr[start], left = start + 1, right = end; while(left < right) { while(arr[right] >= mid && left < right) right--; while(arr[left] <= mid && left < right) left++; swap(left, right, arr); } if(arr[right] < mid) swap(start, right, arr); else right--; quickSort(start, right -1, arr); quickSort(right + 1, end, arr);}
- 归并排序
稳定排序,复杂度nlog(n)
public static void mergeSort(int arr[], int result[], int start, int end) { if(start >= end) return; int mid = (end - start) >> 1; int start1 = start, end1 = start + mid; int start2 = start + mid + 1, end2 = end; mergeSort(arr, result, start1, end1); mergeSort(arr, result, start2, end2); int k = start; while(start1 <= end1 && start2 <= end2) { if(arr[start1] <= arr[start2]) result[k++] = arr[start1++]; else result[k++] = arr[start2++]; } while(start1 <= end1) { result[k++] = arr[start1++]; } while(start2 <= end2) { result[k++] = arr[start2++]; } for(k = start; k <= end; k++) { arr[k] = result[k]; }}
阅读全文
0 0
- 算法--排序算法总结
- 算法:排序算法总结
- 算法:排序算法总结
- 算法-排序算法总结
- 算法-排序算法总结
- 【排序算法】排序算法总结
- 排序算法总结---希尔排序
- 排序算法总结---冒泡排序
- 排序算法总结----快速排序
- 排序算法总结---希尔排序
- 排序算法总结【内排序】
- 排序算法之内排序总结
- 排序算法总结:冒泡排序
- 【排序算法总结】冒泡排序
- 【排序算法总结】选择排序
- 排序算法总结
- 排序算法大总结
- 排序算法总结
- WampServer下如何配置多域名
- Python——list,tuple,dict与set
- 在Android M及更高版本中使用 Settings.System 抛出异常"You cannot keep your settings in the secure settings. "
- android 7.0 apk添加第三方库出错问题
- VS2010编译QT代码,每次Debug都重新编译问题。
- 排序算法总结
- ListView 多选后,获取所有选中项
- C++/MFC-套接字CSocket之一般流程
- Web扫雷(js)
- PowerDesigner 概念数据模型(CDM) 说明
- 浅谈代理Proxy
- VS2013 产品密钥 – 所有版本
- Hive本地模式
- Caysn打印机安卓平台开发包接口说明文档及打印示例程序_20170609