zoukankan      html  css  js  c++  java
  • Java基础算法

    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 } 
  • 相关阅读:
    答题活动小程序V3.0
    在线答题小程序关于完形填空题的设计
    如何搭建在线答题小程序
    考研政治刷题小程序我来了
    JVM中的枚举
    IO Stream byte[]
    成长经验系列之七-方法-跳出背了忘忘了背的循环
    JVM之GC Roots
    深入理解Java虚拟机-第三版-第二章JVM内存区域笔记
    JVM之DirectByteBuffer
  • 原文地址:https://www.cnblogs.com/joeshine/p/4376444.html
Copyright © 2011-2022 走看看