两种排序(快排+冒泡)

1.快速排序

import java.util.Scanner;
class  Kuaipai
{
    static int[] a=new int [101];
    public static void main(String[] args) 
    {
        int n,i,j;

        Scanner in=new Scanner(System.in);
        n=in.nextInt();
        for(i=1;i<=n;i++)
        a[i]=in.nextInt();
        quicksort(1,n);
        for(i=1;i<=n;i++)

        System.out.print(""+a[i]+" ");
    }
    public static void quicksort(int left,int right)
    {
     int i,j,t,temp;
     if(left>right)
         return;
     temp=a[left];//最左边的为基准数
     i=left;
     j=right;
     while(i!=j)
        {
          while(a[j]>=temp&&i//从右往左
              j--;
          while(a[i]<=temp&&i//交换两个数的位置
          if(i1);//继续处理左边
       quicksort(i+1,right);//继续右边
       return;
    }
}

2.冒泡排序

import java.util.Scanner;
class Maopao 
{
    public static void main(String[] args) 
    {
        int[] a=new int [100];//定义数组
            int i,j,t,n;
        Scanner in=new Scanner(System.in);
         n=in.nextInt();


        for(i=1;i<=n;i++)
        a[i]=in.nextInt();
        for(i=1;i1;i++)
        {
         for(j=1;j<=n-1;j++)
            {
             if(a[j]>a[j+1])
                {t=a[j];a[j]=a[j+1];a[j+1]=t;}
            }
        }
        for(i=1;i<=n;i++)
        System.out.print(" "+a[i]+" ");
    }
}

你可能感兴趣的:(算法,排序)