zoukankan      html  css  js  c++  java
  • 简单排序算法

     1 package data.struct.algorithm;
     2 
     3 class BubbleSortArray{//冒泡排序
     4     private int[] arr;//封装的内容包括:数组和数组的长度
     5     private int len;
     6     public BubbleSortArray(int maxSize){
     7         arr=new int[maxSize];
     8         len=0;
     9     }
    10     public void insert(int value){//数组中插入元素
    11         arr[len]=value;
    12         len++;
    13     }
    14     public  void display(){
    15         for(int i=0;i<len;i++){
    16             System.out.print(arr[i]+" ");
    17         }
    18         System.out.println();
    19     }
    20     
    21     public void method_Bubble(){//冒泡排序
    22         for(int i=0;i<len-1;i++){
    23             for(int j=i+1;j<len;j++){
    24                 if(arr[i]>arr[j]){
    25                     swap(arr,i,j);
    26                 }
    27             }
    28         }
    29     }
    30     public void method_insert(){//插入排序
    31         int temp,j;
    32         for(int i=1;i<len;i++){
    33             temp=arr[i];
    34             j=i;
    35             while(j>0&&arr[j]>=temp){
    36                 arr[j]=arr[j-1];
    37                 j--;
    38             }
    39             arr[j]=temp;
    40         }
    41     }
    42     public void method_select(){//选择排序
    43         int flag;
    44         for(int i=0;i<len-1;i++){
    45             flag=i;
    46             for(int j=i+1;j<len;j++){
    47                 if(arr[j]<arr[flag]){
    48                     flag=j;
    49                 }
    50             }
    51             if(flag!=i){
    52                 swap(arr, i, flag);
    53             }
    54         }
    55     }
    56     public  void swap(int[] arr2, int i, int j) {
    57         int temp=arr2[i];
    58         arr2[i]=arr2[j];
    59         arr2[j]=temp;
    60     }
    61     public int length(){
    62         return len;
    63     }
    64 }
    65 public class SortMethod {
    66 
    67     /**
    68      * @param args
    69      */
    70     /*
    71      * 练习集中常见的排序算法,冒泡排序、选择排序、插入排序,我们把要排序的数组封装成数组对象
    72      */
    73     public static void main(String[] args) {
    74         int maxSize=100;
    75         BubbleSortArray arr=new BubbleSortArray(maxSize);
    76         arr.insert(100);
    77         arr.insert(50);
    78         arr.insert(54);
    79         arr.insert(25);
    80         arr.insert(63);
    81         arr.insert(78);
    82         arr.insert(23);
    83         arr.insert(12);
    84         arr.insert(6);
    85         arr.insert(99);
    86         arr.display();
    87 //        arr.method_Bubble();
    88 //        arr.method_select();
    89         arr.method_insert();
    90         arr.display();
    91         System.out.println(arr.length());
    92     }
    93 
    94 }
  • 相关阅读:
    相关分析[SDOI2017]
    排序[HEOI2016/TJOI2016]
    逆序对[AHOI2008]
    逆序对数列[HAOI2009]
    小Z的袜子「2009国家集训队」
    http抓包—Content-Type讲解
    mysql——leetcode问题记录
    linux--vi命令
    Linux—echo命令
    Linux—文件命令之touch命令
  • 原文地址:https://www.cnblogs.com/ysw-go/p/5349433.html
Copyright © 2011-2022 走看看