夢想飛翔

          自強不息
          posts - 111, comments - 30, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          三種常見java算法

          Posted on 2007-02-04 23:07 love1563 閱讀(351) 評論(0)  編輯  收藏

          public class BubbleSort
          {

          public BubbleSort()
          {

          }

          public static void main ( String args[] )
          {

          int data[] = { 63, 56, 98, 12, 24 };

          int n = data.length;

          // bubblesort(data, n);//冒泡排序
          //selectionSort(data, n);//選擇排序
          insertionSort(data,n);//插入排序
          for (int i = 0; i < n; i++)
          {

          System.out.println(data[i]);

          }

          }

          public static void swap ( int data[] , int i , int j )
          {

          int temp;
          temp = data[i];
          data[i] = data[j];
          data[j] = temp;
          }

          /*

          • 冒泡排序

          */
          public static void bubblesort ( int data[] , int n )
          {

          int numsorted = 0;
          int index;
          while (numsorted < n)
          {

          for (index = 1; index < n – numsorted; index++)
          {

          if (data[index – 1] > data[index])
          swap(data, index – 1, index);

          }
          numsorted++;

          }

          }

          /*

          • 選擇排序

          */
          public static void selectionSort ( int data[] , int n )
          {

          int numUnsorted = n;
          int index;
          int max;
          while (numUnsorted > 0)
          {

          max = 0;
          for (index = 1; index < numUnsorted; index++)
          {

          if (data[max] < data[index])
          max = index;

          }
          swap(data, max, numUnsorted – 1);
          numUnsorted — ;

          }
          }

          /*

          • 插入排序

          */
          public static void insertionSort ( int data[] , int n )
          {

          int numSorted = 1;
          int index;
          while (numSorted < n)
          {

          int temp = data[numSorted];
          for (index = numSorted; index > 0; index — )
          {

          if (temp < data[index – 1])
          {

          data[index] = data[index – 1];
          } else
          {

          break;
          }

          }
          data[index] = temp;
          numSorted++;
          }

          }

          }


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 綦江县| 襄城县| 张掖市| 桂林市| 贞丰县| 图们市| 锦州市| 沙坪坝区| 政和县| 瓦房店市| 扎囊县| 永定县| 台东县| 新巴尔虎右旗| 米林县| 介休市| 临汾市| 泰州市| 民县| 城口县| 盐边县| 龙里县| 张家界市| 红河县| 井冈山市| 阳东县| 郸城县| 临武县| 菏泽市| 呼和浩特市| 平邑县| 肇州县| 峨边| 韶山市| 五常市| 宾阳县| 喀喇沁旗| 仁怀市| 德清县| 定结县| 台南县|