三部排序

来源:互联网 发布:skycc营销软件客服 编辑:程序博客网 时间:2024/06/02 10:25

题目:对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。

import java.util.Scanner;public class Main{public static void main(String[] args) {int [] arr={25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0};int len=arr.length;sort(arr, len);show(arr, len);}public static void  sort(int [] arr,int len ){int p=0;int left=0;int right=len-1;while(p<=right){if(arr[p]<0){int temp=arr[left];arr[left]=arr[p];arr[p]=temp;left++;p++;}else if(arr[p]>0){int temp=arr[right];arr[right]=arr[p];arr[p]=temp;right--;}else{p++;}}}public static void show(int [] arr,int len){for(int i=0;i<len;i++){System.out.print(arr[i]+" ");}}}


 

原创粉丝点击