首页 >> 生活 >

C语言排序算法库(c语言排序算法)

2024-02-10 18:20:34 来源: 用户: 

你们好,最近小时发现有诸多的小伙伴们对于C语言排序算法库,c语言排序算法这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、交换排序:借鉴了求最大值,最小值的思想,按升序排列的基本过程为:先将第一个数分别与后面的数进行比较,若后面是的数小,则交换和第一个数的位置,否则不交换:这一轮结束之后,则求除了一个最小的放在第一个位置,然后进行第二轮比较,但这种交换效率低

2、package cho2;

3、public class changeSort {

4、 public static void main(String[] args) {

5、 // TODO 自动生成的方法存根

6、 //对给定的数组进行排序

7、 int[] a={53,54,56,51};

8、 int i;

9、 int j;

10、 int temp=0;

11、 //注意不要数组越界 如果i小于4或者j小于5都会有越界的

12、 //现象

13、 //注意交换中不能时时刻刻用i+1代替j;

14、 for(i=0;i<3;i++){

15、 for(j=i+1;j<4;j++){

16、 if(a[i]>a[j]){

17、 temp=a[i];

18、 a[i]=a[j];

19、 a[j]=temp;

20、 }

21、

22、 }

23、 }

24、 for(i=0;i<4;i++){

25、 System.out.println(a[i]);

26、 }

27、 }

28、

29、 }

30、冒泡排序:将相邻两个数进行交换,重复的过程,一般,如果有N个数进行排序,则需进行N-1起泡

31、package cho2;

32、public class maopao {

33、 public static void main(String[] args) {

34、 // TODO 自动生成的方法存根

35、 int[] a={53,54,56,51};

36、 int i;

37、 int j;

38、 int m=0;

39、 int temp=0;

40、

41、 for(i=0;i<3;i++){

42、 m=m-1;

43、 //4+m主要为了减少运行的次数

44、 for(j=0;j<4+m;j++){

45、 if(a[j]>a[j+1]){

46、 temp=a[j];

47、 a[j]=a[j+1];

48、 a[j+1]=temp;

49、 }

50、

51、 }

52、 }

53、 for(i=0;i<4;i++){

54、 System.out.println(a[i]);

55、 }

56、 }

57、

58、

59、 }

60、选择排序:在交换排序的基础上,找出余下的数中的最大值再与地I+1个数进行交换,这样每一轮比较中最多只有一次交换操作,这个算法最多只有N—1次交换操作

61、package cho2;

62、public class selectSort {

63、 public static void main(String[] args) {

64、 // TODO 自动生成的方法存根

65、 int[] a={53,54,56,51};

66、 int i;

67、 int j;

68、 int k;

69、 int temp=0;

70、

71、 for(i=0;i<3;i++){

72、 k=i;

73、 for(j=i+1;j<4;j++){

74、 if(a[i]>a[j]){

75、 k=j;

76、 }

77、 }

78、 if(k!=i){

79、 temp=a[k];

80、 a[k]=a[i];

81、 a[i]=temp;

82、

83、

84、

85、 }

86、 }

87、 for(i=0;i<4;i++){

88、 System.out.println(a[i]);

89、 }

90、 }

91、

92、

93、 }

以上就是c语言排序算法这篇文章的一些介绍,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章