java学习笔记1,2014-4-8初次编写,排版欠佳。
涉及知识点:java数组、面向对象的编程思想
选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
冒泡排序:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
基本概念暂时参考wiki百科全书,关键参考下面理解下面例子程序,运行java程序时,带参数输入,将参数做按小到大排序。
public class TestArray{
int a[];
a = new int[args.length];
for(int i = 0;i < args.length;i++){a[i] = Integer.parseInt(args[i]);
}
print(a);
selectionSort1(a); //selectionSort1为选择排序方法
// selectionSort2(a); //selectionSort2为冒泡排序方法
print(a);
}
private static void print(int[] a){
for(int i = 0;i < a.length; i++){System.out.print(" " + a[i]);}System.out.println();
}
//选择排序法:
private static void selectionSort1(int[] a){
int k,temp;
for(int i=0;i<a.length;i++){
k = i;
for(int j=k+1;j<a.length;j++){
if(a[j] < a[k]){
k = j;
}
}
if(k != i){
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
//冒泡排序法:
private static void selectionSort2(int[] a){
int i,j,t;
for(i=a.length - 1 ;i >= 1;i--){
for(j=0;j<i ;j++){
if(a[j+1] < a[j]){
t = a[j+1];
a[j+1] = a[j];
a[j] =t;
}
}
}
}}