冒泡排序和基准排序

import java.util.Scanner;


public class MaoPaoSort {
	public static void main(String[] args)
	{
		//定义几个变量
		Scanner sc = new Scanner(System.in);
		int[] intArray = new int[10]; //声明的同时,一定要对变量进行初始化
		int number = 10;
		int i = 0;
		
		//1.从键盘循环输入10个整数,并且放到一个数组中
		System.out.println("循环输入10个整数:");
		for(i=0;i<number;i++) 
		{
			intArray[i] = sc.nextInt();
		}
		
		//2.冒泡排序
		System.out.println("循环输出排序之前的数组:");
		for(i=0;i<number;i++) //循环输出排序之前的数组
		{
		    System.out.print(intArray[i] + " ");
		}
		
		for(i=0;i<number;i++) //降序
		{
			for(int j=i+1;j<10-i;j++)
			{
				if(intArray[i] < intArray[j]) 
				{
					int temp = intArray[i];
					intArray[i] = intArray[j];
					intArray[j] = temp;
				}
			}
		}
		
		System.out.println("循环输出排序之后的数组:");
		for(i=0;i<number;i++) //循环输出排序之后的数组
		{
		    System.out.print(intArray[i] + " ");
		}
		
		//3.统计数量
		int a = 0;
		int b = 0;
		int c = 0;
		for(i=0;i<number;i++)
		{
			if(intArray[i] > 0)
			{
				a++;
			}else
			if(intArray[i] < 0)
			{
				b++;
			}else
			if(intArray[i] == 0)
			{
				c++;
			}
		}
		System.out.println("统计大于0的数量:" + a + "\n");
		System.out.println("统计先于0的数量:" + b + "\n");
		System.out.println("统计等于0的数量:" + c + "\n");	
	}
}


附:

174401_E3u7_1791074.jpg








参考:http://www.mianwww.com/html/2014/05/21206.html

题目

1. 编一个程序,输入10个整数,并放在数组中,先降序输出所有的数,再统计并输出其中正数、负数和零的个数









2.基准排序(即快速排序)

class QuickSort { 
   private static void QuickSort(int[] array,int start,int end) 
   { 
       if(start<end) 
       { 
    	   //1.定义2个变量
           int jiZhun=array[start]; //基准值 
           int n=start; //统计数量(统计比基准值小的元素的数量)
           
           //循环交换:array[j]和array[n+1]
           for(int j=start+1;j<=end;j++) 
           {
               if(array[j]<key) //1.如果比基准值小,那么就交换 j和n+1,交换之后n自增          2.否则,不交换,n的值也不变
               { 
                   int temp=array[j]; 
                   array[j]=array[n+1]; 
                   array[n+1]=temp; 
                   
                   n++; 
               } 
                 
           } 
           //交换一次:基准值和n
           array[start]=array[n];  
           array[n]=jiZhun; 
           
           QuickSort(array, start, n-1);//递归调用  
           QuickSort(array, n+1, end);         
       } 
         
   } 

   public static void main(String[] args) 
   { 
       int[] array=new int[]{11,1,2,213,134,44,77,78,23,-43}; 
       
       QuickSort(array, 0, array.length-1); 
       
       for(int i=0;i<array.length;i++) 
       { 
           System.out.println((i+1)+"th:"+array[i]); 
       } 
   }
}


转载于:https://my.oschina.net/u/1791074/blog/312407

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值