java实现直接选择排序
来源:互联网 发布:淘宝联盟链接有效期 编辑:程序博客网 时间:2024/05/16 12:44
数据结构中,有很多排序算法,学数据结构的时候没有用心弄明白,只能现在自己来弄清楚了,我一个一个来,这次是直接选择排序,排序思想:
1.首先,将第一个数作为最小值(从小到大的顺序),然后与第二个数比较,如果大于第二个数,这交换这两个数值,然后继续让第一个数与第三个数比较,以此类推;如果是把第一个数作为最大值的话(从大到小的顺序),与第二个数比较,如果小于第二个数,这交换这两个数值,再与第三个比较,以此类推;
2.每一轮都会把最大值或者最小值放到最左边,直到排序完成。
下面是算法代码:
package dataStructures;/** * 类说明 * @author jiang * @date 创建时间:2014年10月6日 上午10:32:29 */public class DirectSelectionSort {//实现直接选择排序算法//按从小到大的顺序排序并输出public void directSelectionSort(int str[]){int min = 0; //定义一个最小值变量,用来做交换时的中间变量for (int i = 0; i < str.length-1; i++) { //注意这里数组索引越界min = str[i];for (int j = i+1; j < str.length; j++) { //每一次循环都把最小的数与str[i]交换if (str[i]>str[j]) {min = str[j];str[j] = str[i];str[i] = min;}}}}public static void main(String[] args){int str[] = {25,12,15,3,56,8,98,552}; //初始化一个数组System.out.println("排序前:");for (int i = 0; i < str.length; i++) {System.out.print(str[i]+" ");}DirectSelectionSort sls = new DirectSelectionSort();sls.directSelectionSort(str); //进行排序System.out.println();System.out.println("排序后:");for (int i = 0; i < str.length; i++) {System.out.print(str[i]+" "); //排序后输出}}}运行结果:
排序前:
25 12 15 3 56 8 98 552
排序后:
3 8 12 15 25 56 98 552
时间复杂度:o(n^2)
空间复杂度:o(1)
稳定性:不稳定
0 0
- 选择排序----直接选择排序----java实现
- 直接选择排序----java实现
- java实现直接选择排序
- 直接选择排序---JAVA实现
- 直接选择排序java实现
- java实现直接选择排序
- 直接排序、选择排序(Java实现)
- 直接选择排序(java实现)
- Java代码 实现直接选择排序
- 选择排序之直接选择排序Java实现
- 冒泡排序、选择排序、直接插入排序(java实现)
- java实现直接出入、希尔、直接选择、快速排序
- Java 直接选择排序
- 直接选择排序 Java
- Java直接选择排序
- Java 直接选择排序
- Java直接选择排序
- java直接选择排序
- Weka算法Classifier-meta-AdaBoostM1源码分析(二)
- 科特勒提出的有三个营销层次:坏的、好的、伟大的。
- MyBatis Generator generatorConfig.xml配置详解
- 通过http user-agent判断是否为手机浏览器
- 【一些题】剑指offer:数组中的逆序对
- java实现直接选择排序
- 自制os(1)-bootloader
- DL Codes & Tutorials (Updating)
- java实现判断邮箱格式
- java userAgent 判断是否手机浏览器
- 自制操作系统--(2)
- 深入理解javascript原型和闭包(4)——隐式原型
- 链表操作
- 腾讯与唯品会笔试面试经历