知识大全 道一笔试题(编程部分)排序

Posted

篇首语:今日长缨在手,何时缚住苍龙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 道一笔试题(编程部分)排序相关的知识,希望对你有一定的参考价值。

import java util ArrayList; import java util Random; import javax swing JFrame; import javax swing JTextArea; public class Text private static Random rd; private static int[] array; public static void main(String[] args) Random r = new Random(); array = new int[ ]; ArrayList<Integer> list = new ArrayList<Integer>(); for(int i= ; i< ; i++) array = r nextInt( ); for(int i= ; i<array length; i++) System out print(array+&# ; &# ;); System out println(); int l = Locate(array ); for(int i=l; i<array length; i++) list add(array); for(int i:list) System out print(i+&# ; &# ;);

/* 用最快速的方法打乱一个数组 而且公平平均 */ private static void Resort(int[] array) rd = new Random(); int temp; for(int i= ; i<array length; i++) int l = rd nextInt(array length); //int m = rd nextInt(array length); temp = array[ ]; array[ ] = array[l]; array[l] = temp;

/* 给定一个数组 找出指定连续n个大于c的子数组所在位置 例如给定 指定n= c= 将返回子数组 所在位置 */ private static int Locate(int[] array int n int c) int[] list = new int[n]; int i= ; int j= ; for(i= ; i<=array length n; i++) for(j= ; j<n; j++) list[j] = array[i+j]; if(list[j]>=c) break; if(j==n) return i; return ;

/*快速排序*/ private static void QuickSort(int[] array int x int y) int xx = x yy = y; int k = array[xx]; if(x>=y) return; while(xx != yy) while(xx<yy && array[yy]>=k) yy&# ;; array[xx] = array[yy]; while(xx<yy && array[xx]<=k) xx++; array[yy] = array[xx]; array[xx] = k; QuickSort(array x xx ); QuickSort(array xx+ y);

cha138/Article/program/sjjg/201405/30941

相关参考