好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

浅谈JAVA实现选择排序,插入排序,冒泡排序,以及两个有序数组的合并

一直到大四才开始写自己的第一篇博客,说来实在有点羞愧。今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用java实现的代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

public class test5

{

 

   public static void print( int []array)       //输出数组方法

   {

     for ( int i= 0 ;i<array.length;i++)

     system.out.print( " " +array[i]);

     

   }

   

   public static void selectsort( int array[])    //选择排序方法

   {  

     for ( int i = 0 ; i < array.length; i++)

     {  

       int min=i;

       for ( int j=i+ 1 ;j<array.length;j++)

       if (array[min]>array[j])

         min =j;

       if (i!=min)

       {

         int temp=array[i];

         array[i]=array[min];

         array[min]=temp;

       }

     }

   }

   

   public static void insertsort( int array[])    //插入排序方法

   {

     for ( int i = 1 ; i < array.length; i++)

     {

       int a=array[i];

       int j=i- 1 ;

       for (;j>= 0 ;j--)

       {

         if (a<array[j])

         array[j+ 1 ]=array[j]; 

         else

           break ;

       }

       array[j+ 1 ]=a;

     }

   }

     

   public static void bubblesort( int array[])

   {

     

     for ( int i= 0 ;i<array.length- 1 ;i++)

     {

       for ( int j= 0 ;j<array.length- 1 -i;j++)

       {

         if (array[j]>array[j+ 1 ])

         {

          int temp=array[j];

          array[j]=array[j+ 1 ];

          array[j+ 1 ]=temp;

         }

       }

       

     }

     

   }

     

   public static int [] merge( int a[], int b[])

   {

       int c[]= new int [a.length+b.length];

       int i= 0 ,j= 0 ,k= 0 ;

       while (i<a.length&&j<b.length)

       {

         if (a[i]>b[j])

          c[k++]=b[j++];

         else

          c[k++]=a[i++];

       }

       while (i<a.length)

          c[k++]=a[i++];

        while (j<b.length)

          c[k++]=b[j++];

       return c;

   }

     

   public static void main(string[] args)

   {

     int a[]={ 55 , 76 , 29 , 80 , 92 , 41 , 16 };

     int b[]={ 73 , 10 , 84 , 99 , 69 , 45 };

 

    

    // system.out.println("hello" );

    

     system.out.print( "数组a:" );

     print(a);

     system.out.print( '\n' );

     system.out.print( "数组b:" );

     print(b);

     system.out.print( '\n' );

     system.out.print( "选择排序:" );

   //  selectsort(a);

     print(a);

     system.out.print( '\n' );

     system.out.print( "冒泡排序:" );

     bubblesort(a);

     print(a);

     system.out.print( '\n' );

     system.out.print( "插入排序:" );

     insertsort(b);

     print(b);

     system.out.print( '\n' );

     system.out.print( "合并数组:" );

     print(merge(a, b));

   }

}

运行后的结果如下图所示 

以上所述是小编给大家介绍的java实现选择排序,插入排序,冒泡排序,以及两个有序数组的合并详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

原文链接:https://HdhCmsTestcnblogs测试数据/shengxu/p/10561530.html

查看更多关于浅谈JAVA实现选择排序,插入排序,冒泡排序,以及两个有序数组的合并的详细内容...

  阅读:11次