[原创]排序_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4132 | 回复: 0   主题: [原创]排序        下一篇 
yuyanzheng
注册用户
等级:下士
经验:176
发帖:9
精华:0
注册:2013-1-31
状态:离线
发送短消息息给yuyanzheng 加好友    发送短消息息给yuyanzheng 发消息
发表于: IP:您无权察看 2013-2-4 18:03:38 | [全部帖] [楼主帖] 楼主

package com.zyg.test.sort;

public class SelectSort {

    public static void main(String[] args) {

    int[] array = {23,10,7,12,5,1};

    System.out.print("排序前;");

    printArray(array);

    selectAscSort(array);

    selectDescSort(array);

    }

    /**

     * 选择升序排序

     * @param array

     */

    public static void selectAscSort(int[] array){

    int length = array.length;

    int min = array[0];

    int minIdx = 0;

    for(int i=0;i<length-1;i++){

    for(int j=i+1;j<length;j++){

    if(array[j]<min){//将比较符号改为>即是降序排序算法

    min = array[j];

    minIdx = j;

    }

    }

    array[minIdx]= array[i];

    array[i] = min;

    //重置min、minIdx值

    min = array[i+1];

    minIdx = i+1;

    }

    System.out.println();

    System.out.print("升序排序后;");

    printArray(array);

    }

    /**

     * 选择降序排序

     * @param array

     */

    public static void selectDescSort(int[] array){

    int length = array.length;

    int max = array[0];

    int maxIdx = 0;

    for(int i=0;i<length-1;i++){

    for(int j=i;j<length;j++){

    if(array[j]>max){//将比较符号改为<即是升序排序算法

    max = array[j];

    maxIdx = j;

    }

    }

    array[maxIdx]= array[i];

    array[i] = max;

    //重置max、maxIdx值

    max = array[i+1];

    maxIdx = i+1;

    }

    System.out.println();

    System.out.print("降序排序后;");

    printArray(array);

    }

    public static void printArray(int[] array){

    int length = array.length;

    for(int i=0;i<length;i++){

    System.out.print(array[i]);

    if(i!=length-1){

    System.out.print(",");

    }

    }

    }

}

package com.zyg.test.sort;

public class InsertSort {

    public static void main(String[] args) {

    int[] array = {2,3,1,8,6};

    System.out.print("排序前;");

    printArray(array);

    insertAscSort(array);

    insertDescSort(array);

    }

    /**

     * 插入升序排序

     * @param array

     */

    public static void insertAscSort(int[] array){

    int length = array.length;

    for(int out = 1;out<length;out++){

    int temp = array[out];

    int in = out;

    while(in>0 && array[in-1]>temp){

    array[in] = array[in-1];

    --in;

    }

    array[in]=temp;

    }

    System.out.println();

    System.out.print("升序排序后;");

    printArray(array);

    }

    /**

     * 插入降序排序

     * @param array

     */

    public static void insertDescSort(int[] array){

    int length = array.length;

    for(int out = 1;out<length;out++){

    int temp = array[out];

    int in = out;

    while(in>0 && array[in-1]<temp){

    array[in] = array[in-1];

    --in;

    }

    array[in]=temp;

    }

    System.out.println();

    System.out.print("升序排序后;");

    printArray(array);

    }

    public static void printArray(int[] array){

    int length = array.length;

    for(int i=0;i<length;i++){

    System.out.print(array[i]);

    if(i!=length-1){

    System.out.print(",");

    }

    }

    }

}

package com.zyg.test.sort;

//博客:http://blog.csdn.net/m_changgong

public class BubbleSort {

    public static void main(String[] args) {

    int[] array = {10,5,7,12};

    System.out.print("排序前;");

    printArray(array);

    bubbleAscSort(array);

    bubbleDescSort(array);

    }

    /**

     * 冒泡升序排序

     * @param array

     */

    public static void bubbleAscSort(int[] array){

    int length = array.length;

    int temp=0;

    for(int i=0;i<length-1;i++){

    for(int j=0;j<length-i-1;j++){

    if(array[j+1]<array[j]){

    temp = array[j];

    array[j] = array[j+1];

    array[j+1] = temp;

    }

    }

    }

    System.out.println();

    System.out.print("升序排序后;");

    printArray(array);

    }

    /**

     * 冒泡降序排序

     * @param array

     */

    public static void bubbleDescSort(int[] array){

    int length = array.length;

    int temp=0;

    for(int i=0;i<length-1;i++){

    for(int j=0;j<length-i-1;j++){

    if(array[j+1]>array[j]){

    temp = array[j];

    array[j] = array[j+1];

    array[j+1] = temp;

    }

    }

    }

    System.out.println();

    System.out.print("降序排序后;");

    printArray(array);

    }

    public static void printArray(int[] array){

    int length = array.length;

    for(int i=0;i<length;i++){

    System.out.print(array[i]);

    if(i!=length-1){

    System.out.print(",");

    }

    }

    }

}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论