蛮力法中的一些排序算法
来源:互联网 发布:唱谱软件安卓版 编辑:程序博客网 时间:2024/06/08 10:25
排序算法除了要考虑时间,空间复杂度以外,还需要考虑到稳定性。
稳定的排序算法表示在排序前后,相等的两个值的前后位置保持不变。
选择排序
首先从第一个元素开始扫描整个序列,并将序列的最小元素和第一个元素交换,然后从第二个元素开始扫描,将n-1个元素中的最小序列与第二个元素交换,执行到n-1个元素后,这个序列就排序好了。
/** * 升序 * 遍历数组找出最小的与第一个交换,第二小的与第二个交换... * @param originalArr * @return */@Overridepublic int[] asc(int[] originalArr){for(int i = 0; i < originalArr.length; i++){int min = i;for(int j = i+1; j < originalArr.length; j++){if(originalArr[min] > originalArr[j]){min = j;}}int tmp = originalArr[min];originalArr[min] = originalArr[i];originalArr[i] = tmp;}return originalArr;}
冒泡排序
比较相邻的两个元素,如果第一个元素大于第二个元素就交换位置,第一遍最大值将会交换到最后一个位置,第二次循环将n-1个元素中的最大值交换到最后第二个位置,重复操作n-1遍后,这个序列就排序好了。
/** * 升序 * 比较相邻元素,将大元素沉下去 */@Overridepublic int[] asc(int[] originalArray) {for(int i = 0; i < originalArray.length; i++){for(int j = i + 1; j < originalArray.length; j++){if(originalArray[i] > originalArray[j]){int temp = originalArray[i];originalArray[i] = originalArray[j];originalArray[j] = temp;}}}return originalArray;}
0 0
- 蛮力法中的一些排序算法
- C语言中的一些排序算法
- C语言中的一些排序算法
- 关于数据结构中的一些排序算法
- java中的一些常见排序算法
- JAVA集合中的一些排序算法
- C#一些排序算法
- 一些排序算法
- C#一些排序算法
- 一些排序算法
- 一些排序算法程序
- 常用一些排序算法
- 一些排序算法总结
- 一些排序算法
- 一些常见排序算法
- 一些排序算法
- 记录一些排序算法
- 一些排序算法
- 判断整数序列是不是二元查找树的后序遍历结果
- [学习小结]Ajax_使用 XMLHttpRequest 实现 Ajax
- pull解析细节
- Mysql监控工具Innotop工具安装
- Linux之awk命令
- 蛮力法中的一些排序算法
- 网络流 UVA 12264 Risk
- [Python]核心编程之GUI编程(Tkinter)
- 在Linux下安装FDR
- Ubuntu 14.04 下的MAC OS X 主题安装
- 欢迎进入我的博客
- 求解两个序列的所有最长公共子序列(LCSes)
- Java数据结构_栈
- 杭电ACM 偶数求和