本人是初学者,望各位赐教!!!在线等,谢谢
解决方案 »
- 一个类能否继承一个接口同时又实现另一个接口?
- 一个关于java垃圾回收机制的问题
- 父窗体点击菜单弹出输入对话框,然后父窗体等待输入窗体的响应,如输入窗体录入数据并确认,返回父窗体一个字符串,怎么做?
- 求助!!帮手修改线程(新手)
- 鼠标放在控件上的时候冒泡显示提示文字,鼠标离开才会消失?怎么做?
- java有什么嵌入式开发的教程么,并且有什么廉价的设备测试用?
- 请各路高手赐教!关于多项选择的问题!
- 用JAVA如何实现PB/VB的某些功能
- 那位仁兄能提供些Java原代码给我吗?谢谢,因为兄弟现在学得很迷茫。需要多看点代码——我以为
- apache javadoc
- java读取文件,读出问号了,该怎么办啊,
- 我在编写一个记事本的java程序,但是无法解决对选定字符内容的字体更改,希望哪位大虾可以帮助解决?
Arrays.sort(sums);
int temp = 0;
for (int i = 0; i < a.length; i++) {
for(int j=0;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
private void sort(int[] data, int left, int right) {
int i = left;
int j = right;
int middle = data[(left + right) / 2];
do{
while(data[i] < middle && i < right) i ++;
while(data[j] > middle && j > left) j --;
if(i <= j) {
int itemp = data[i];
data[i] = data[j];
data[j] = itemp;
i ++;
j --;
}
} while(i <= j);
if(left < j) sort(data, left, j);
if(right > i) sort(data, i, right);
}
public void sort(int[] data) {
sort(data, 0, data.length - 1);
} public static void main(String[] args) {
QuickSort sort = new QuickSort();
int[] data = {1, 2, 5, 7, 9, 3, 2, 0, 10, 4};
sort.sort(data);
for(int i = 0; i < data.length; i ++) {
System.out.print(data[i] + " ");
}
}
}
public class Shuzu
{
public static void main(String[] args)
{
int[] array={32,87,3,589,12,1076,2000,8,622,127};
Arrays.sort(array);
System.out.println(Arrays.toString(array));
}
}
for (int i = 0; i < a.length; i++) {
for(int j=0;j <a.length-i-1;j++){
if(a[j] <a[j+1]){
a[j]+= a[j+1];
a[j+1] = a[j]-a[j+1];
a[j] - = a[j+1];
}
}
}
import java.util.Arrays;public class QuickSort {
public static void main(String[] arg){
int[] a = {1,9,5,7,25,100,250,2,6};
Arrays.sort(a);
for(int i = 0; i < a.length; i++){
System.out.println(a[i]);
}
}
}并附上JAVA中对sort的源代码:
public static void sort(int[] a) {
sort1(a, 0, a.length);
}sort1的源代码:
private static void sort1(int x[], int off, int len) {
// Insertion sort on smallest arrays
if (len < 7) {
for (int i=off; i<len+off; i++)
for (int j=i; j>off && x[j-1]>x[j]; j--)
swap(x, j, j-1);
return;
} // Choose a partition element, v
int m = off + (len >> 1); // Small arrays, middle element
if (len > 7) {
int l = off;
int n = off + len - 1;
if (len > 40) { // Big arrays, pseudomedian of 9
int s = len/8;
l = med3(x, l, l+s, l+2*s);
m = med3(x, m-s, m, m+s);
n = med3(x, n-2*s, n-s, n);
}
m = med3(x, l, m, n); // Mid-size, med of 3
}
int v = x[m]; // Establish Invariant: v* (<v)* (>v)* v*
int a = off, b = a, c = off + len - 1, d = c;
while(true) {
while (b <= c && x[b] <= v) {
if (x[b] == v)
swap(x, a++, b);
b++;
}
while (c >= b && x[c] >= v) {
if (x[c] == v)
swap(x, c, d--);
c--;
}
if (b > c)
break;
swap(x, b++, c--);
} // Swap partition elements back to middle
int s, n = off + len;
s = Math.min(a-off, b-a ); vecswap(x, off, b-s, s);
s = Math.min(d-c, n-d-1); vecswap(x, b, n-s, s); // Recursively sort non-partition-elements
if ((s = b-a) > 1)
sort1(x, off, s);
if ((s = d-c) > 1)
sort1(x, n-s, s);
}