zoukankan      html  css  js  c++  java
  • 选择排序

    Java版本

    /*************************************************************************
        > File Name: ChooseSort.java
        > Author: lxm
        > Created Time: 2016年04月27日 星期三 19时54分22秒
     ************************************************************************/
    public class ChooseSort
    {
        public static void main(String[] args)
        {
            int[] a = {6,1,2,7,9,3,4,5,10,8};
            chooseSort(a);
            printArray(a);
        }
    
        public static void chooseSort(int[] a)
        {
            int len = a.length;
            int min = 0;
            for(int i=0;i<len-1;i++)
            {
                min = i;
                for(int j=i+1;j<len;++j)
                {
                    if(a[j]<a[min])
                    {
                        min = j;
                    }
                }
                if(min != i)
                {
                    swap(a,min,i);
                }
            }
        }
    
        public static void swap(int[] a, int m, int n)
        {
            a[m] ^= a[n];
            a[n] ^= a[m];
            a[m] ^= a[n];
        }
    
        public static void printArray(int[] a)
        {
            for(int item:a)
            {
                System.out.printf("%d	",item);
            }
            System.out.println();
        }
    }
    

    C版本

    /*************************************************************************
        > File Name: ChooseSort.java
        > Author: lxm
        > Created Time: 2016年04月27日 星期三 19时54分22秒
     ************************************************************************/
    
    #include <stdio.h>
    
    #define N 10
    
    void chooseSort(int* a, int n);
    void printArray(int* a, int n);
    void swap(int* a, int* b);
    int main(void)
    {
        int a[] = {6,1,2,7,9,3,4,5,10,8};
        chooseSort(a,N);
        printArray(a,N);
        return 0;
    }
    void chooseSort(int* a, int n)
    {
        int i,j,min;
        for(i=0;i<n-1;i++)
        {
            min = i;
            for(j=i+1;j<n;j++)
            {
                if(a[j]<a[min])
                {
                    min = j;
                }
            }
            if(min != i)
            {
                swap(&a[i],&a[min]);
            }
        }
    }
    void printArray(int* a, int n)
    {
        int i;
        for(i=0;i<n;++i)
        {
            printf("%d	",a[i]);
        }
        printf("
    ");
    }
    
    void swap(int* a, int* b)
    {
        *a ^= *b;
        *b ^= *a;
        *a ^= *b;
    }
    
  • 相关阅读:
    jquery笔记(常用技术)
    AutoUpgraderPro 4.X美化版 源码及Demo程序
    读写Unicode和UTF8格式文件
    AutoUpgraderPro 4.X美化版 源码及Demo程序
    买了两套无线键鼠套装
    今天做了一回黑客
    AutoUpgraderPro Ver 4.1.1带源码美化版
    Delphi虚拟键码对照表
    Delphi虚拟键码对照表
    读写Unicode和UTF8格式文件
  • 原文地址:https://www.cnblogs.com/yldf/p/11900176.html
Copyright © 2011-2022 走看看