c语言排序算法_c语言排序

2023-02-20 13:45:20 来源:互联网

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

1、交换排序:借鉴求最大值和最小值的思想,升序排序的基本过程是:先将第一个数与后面的数进行比较,如果后面的数小,则交换第一个数的位置,否则不交换:这一轮后,将最小的放在第一个位置,再进行第二轮比较,但这种交换效率很低。


【资料图】

2、包装cho2

3、公共类更改排序{

4、公共静态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;i3;i ){

15、for(j=I ^ 1;j4;j ){

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

17、temp=a[I];

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

19、a[j]=temp;

20、}

21、}

22、}

23、for(I=0;i4;i ){

24、system . out . println(a[I]);

25、}

26、}

27、}

28、冒泡排序:交换和重复两个相邻数字的过程。一般来说,如果有N个数要排序,就需要N-1次冒泡。

29、包装cho2

30、公共课毛炮{

31、公共静态void main(String[] args) {

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

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

34、int I;

35、int j;

36、int m=0;

37、int temp=0;

38、for(I=0;i3;i ){

39、m=m-1;

40、//4 m主要是为了减少运行次数。

41、for(j=0;j4m;j ){

42、if(a[j]a[j 1]){

43、temp=a[j];

44、a[j]=a[j 1];

45、a[j 1]=temp;

46、}

47、}

48、}

49、for(I=0;i4;i ){

50、system . out . println(a[I]);

51、}

52、}

53、}

54、选择性排序:在交换排序的基础上,找出剩余数的最大值然后与数I 1交换,这样每轮比较最多只有一次交换操作,这个算法最多只有n-1次交换操作。

55、包装cho2

56、公共类选择排序{

57、公共静态void main(String[] args) {

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

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

60、int I;

61、int j;

62、int k;

63、int temp=0;

64、for(I=0;i3;i ){

65、k=I;

66、for(j=I ^ 1;j4;j ){

67、if(a[i]a[j]){

68、k=j;

69、}

70、}

71、如果(k!=i){

72、temp=a[k];

73、a[k]=a[I];

74、a[I]=temp;

75、}

76、}

77、for(I=0;i4;i ){

78、system . out . println(a[I]);

79、}

80、}

81、}

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

关键词: 交换排序 选择排序 这个问题

上一篇: 动态焦点:字母哥队半场领先!MVP归属悬念大,老詹自抛自扣点燃全场
下一篇: 最后一页