马上要找工作了,所以的把原来的重要的课程再回顾一下,我重要复习的是数据结构,在网上下了<<Java数据结构和算法>>这本书,准备用3个星期看完.看到不如做到,做到不如写到,我的记忆力不是很好,为了看了之后不会忘记,我把学习的体会和程序代码贴上来,以供以后参考.
(1)冒泡排序
(2)选择排序
(1)冒泡排序
- package ChapterOne;
- public class Bubble {
- public static void main(String[] args) {
- Bubble b = new Bubble();
- for(int i = 0;i < arr.length;i++){
- System.out.print(arr[i]+" ");
- }
- System.out.println();
- b.bubble();
- for(int i = 0;i < arr.length;i++){
- System.out.print(arr[i]+" ");
- }
- System.exit(0);
- }
- /**
- * 冒泡排序
- */
- public void bubble(){
- for(int i = arr.length-1;i > 1;i--){
- for(int j = 0;j < i;j++){
- if(arr[j] > arr[j+1])
- swap(j,j+1);
- }
- }
- }
- /**
- * 交换数组中的两个数
- * @param one
- * @param two
- */
- public void swap(int one,int two){
- long temp = arr[one];
- arr[one] = arr[two];
- arr[two] = temp;
- }
- static long arr[] = new long[20];
- /**
- * 随机初始化一个长度为20的数组
- */
- static{
- for(int i = 0;i < arr.length;i++){
- arr[i] = (long) (Math.random()*100);
- }
- }
- }
(2)选择排序
- package ChapterOne;
- public class SelectSort {
- /**
- * 初始化一个长度为size的数组
- * @param size
- */
- public SelectSort(int size){
- arr = new long[size];
- for(int i = 0;i < size;i++){
- arr[i] = (long) (Math.random()*100);
- }
- }
- /**
- * 选择排序
- * @return
- */
- public long[] sort(){
- for(int i = 0;i < arr.length;i++){
- int minIndex = findMin(i);
- long min = arr[minIndex];
- //子数组中的所有的数后移一个位置
- for(int j = minIndex;j > 0;j--)
- arr[j] = arr[j-1];
- //把最小的数插入到最前端
- arr[0] = min;
- }
- return arr;
- }
- /**
- * 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置
- * @param start
- * @return
- */
- public int findMin(int start){
- int min = start;
- for(int i = min;i < arr.length;i++)
- if(arr[min] > arr[i])
- min = i;
- return min;
- }
- public static void main(String[] args) {
- SelectSort ss = new SelectSort(10);
- ss.print();
- long oa[] = ss.sort();
- for(int i = 0;i < oa.length;i++)
- System.out.print(oa[i]+" ");
- System.out.println();
- System.exit(0);
- }
- public void print(){
- for(int i = 0;i < arr.length;i++){
- System.out.print(arr[i]+" ");
- }
- System.out.println();
- }
- long arr[];
- }
- 21:49
- 浏览 (1103)
- 论坛浏览 (3280)
- 评论 (4)
- 分类: Java数据结构和算法
- 收藏
- 相关推荐
评论
(1)冒泡排序