1、选择排序和冒泡排序
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 /*冒泡排序(从小到大排序) 7 * 思路: 8 * 1、数组中的元素邻接的两两进行比较,按照从左到右是由小到大的顺序排,第一次冒泡使得最大值放到了最后边; 9 * 2、第二次冒泡排序,对除最后一个最大值的其它值进行相邻的两两比较; 10 * 3、n次冒泡,直到数组元素从小到大排列为止。 11 */ 12 /*选择排序(从小到大排序) 13 * 思路: 14 * 1、数组中的第一个元素和剩余的其它元素依次比较,获得最小值,将最小值放入数组第一个下标的位置; 15 * 2、数组第二个元素和剩余的数组元素依次比较,获得最小值,放于数组第二个下标位置; 16 * 3、依次比较,直到数组元素依次从小到大排列 17 */ 18 /* 设计: 19 * 1、内外层嵌套循环; 20 * 2、声明局部变量,交换两数组元素的位置,而不是直接赋值; 21 * 3、函数模块独立设计。 22 */ 23 int[] a=new int[]{3,4,23,53,32,322,929,2,2342,24}; //初始化数组 24 int[] b=new int[]{33,44,233,543,32,322,929,23,2342,24}; //初始化数组 25 print_arr(a); //输出原数组 26 print_arr(b); 27 select_Sort(a); //数组排序 28 bubble_Sort(b); 29 print_arr(a); //输出排序后的数组 30 print_arr(b); 31 } 32 public static void select_Sort(int[] arr) //无返回值的选择排序函数 33 { 34 for(int i=0;i<arr.length-1;i++) 35 { 36 for(int j=i+1;j<arr.length;j++) 37 { 38 if(arr[i]>arr[j]) 39 swap(arr,i,j); 40 } 41 } 42 } 43 public static void bubble_Sort(int[] arr) //无返回值的冒泡排序函数 44 { 45 for(int i=0;i<arr.length-1;i++) 46 { 47 for(int j=0;j<arr.length-i-1;j++) 48 { 49 if(arr[j]>arr[j+1]) 50 swap(arr,j,j+1); 51 } 52 } 53 } 54 public static void swap(int[] arr,int x,int y) //位置置换函数,x,y是下标 55 { 56 int temp; 57 temp=arr[x]; 58 arr[x]=arr[y]; 59 arr[y]=temp; 60 } 61 public static void print_arr(int[] arr) //数组元素输出函数 62 { 63 for(int i=0;i<arr.length;i++) 64 System.out.print(arr[i]+" "); 65 System.out.println(); 66 } 67 }
2、十进制转化为其它进制的经典程序
1 package firstproject; 2 public class Test 3 { 4 /*十进制转化为二进制、八进制和十六进制的代码 5 */ 6 public static void main(String[] args) 7 { 8 to_bi(60); 9 System.out.println(); 10 to_ba(60); 11 System.out.println(); 12 to_liu(60); 13 } 14 /* 十进制转二进制 15 */ 16 public static void to_bi(int num) 17 { 18 trans(num,1,1); 19 } 20 /* 十进制转八进制 21 */ 22 public static void to_ba(int num) 23 { 24 trans(num,7,3); 25 } 26 /* 十进制转十六进制 27 */ 28 public static void to_liu(int num) 29 { 30 trans(num,15,4); 31 } 32 public static void trans(int num,int base,int offset) 33 { 34 if(num==0) 35 { 36 System.out.println(0); 37 return; 38 } 39 char[] chs={'0','1','2','3', 40 '4','5','6','7', 41 '8','9','a','b', 42 'c','d','e','f'}; 43 char[] arr=new char[32]; 44 int pos=arr.length; 45 while(num!=0) 46 { 47 int temp=num&base; 48 arr[--pos]=chs[temp]; 49 num=num>>>offset; 50 } 51 for(int x=pos;x<arr.length;x++) 52 { 53 System.out.print(arr[x]); 54 } 55 56 } 57 }