本帖最后由 王广亚 于 2013-7-20 16:47 编辑
- package e1;
- public class SelectSort{
- public static void main(String[] args) {
- int temp []={34,56,76,2,670,8,1};
- System.out.println("排序之前.......");
- //调用函数对排序前结果进行打印
- printArray(temp);
- //调用函数对数组进行排序
- selectSort(temp);
- //调用函数对排序后结果进行打印
- System.out.println("排序之后.......");
- printArray(temp);
- }
- public static void selectSort(int arr[]){
- for(int i=0;i<arr.length-1;i++){
- // int min=i;//为什么要标记最小那个数的角标?只要前面的数大就换为就行了。
- for(int j=i+1;j<arr.length;j++){
- if(arr[i]>arr[j]){
- swap(arr,j,i);
- }
- }
-
- }
- }
- /*
- 完成数组的打印功能
- */
- public static void printArray(int arr[]){
- for(int i=0;i<arr.length;i++){
- System.out.print(arr[i]+", " );//此处不要println,用了没打印一个元素就会换行
- }
- System.out.print("\n");
- }
- public static void swap(int []arr,int x,int y){
- arr[x]=arr[x]^arr[y];
- arr[y]=arr[x]^arr[y];
- arr[x]=arr[x]^arr[y];
- }
- }
复制代码 |