数组内排序

如题所述

数据结构中的排序算法有很多:

选择排序 、交换排序、冒泡排序、希尔排序、快速排序、归并排序等等。

实际上,排序的方式不止这种,使用不同的思路,会得到不同的排序代码,下面给大家介绍几种常用的排序方法,供大家参考。

1.交换排序方法
交换排序的思路是首先找到最小的数,将他放到第一个位置,其次找到第二大的数,将他放到第二位置,如此知道找到n-1个数。

复制代码
1 for (int i = 0; i < nums.Length - 1; i++)
2 {
3 //在 i-(nums.Length-1) 范围内,将该范围内最小的数字提到i
4 for (int j = i + 1; j < nums.Length; j++)
5 {
6 if (nums[i] > nums[j])
7 {
8 //交换
9 int temp = nums[i];
10 nums[i] = nums[j];
11 nums[j] = temp;
12 }
13 }
14 }
复制代码

 2.冒泡排序:将下标0-n范围内的最大值沉到n位置,同理0-n-1的最大值沉到n-1位置。。。。。 

复制代码
1 for (int i = nums.Length - 1; i > 0; i--)
2 {
3 //在 0-i 范围内,将该范围内最大的数字沉到i
4 for (int j = 0; j < i; j++)
5 {
6 if (nums[j] > nums[j+1])
7 {
8 //交换
9 int temp = nums[j];
10 nums[j] = nums[j+1];
11 nums[j+1] = temp;
12 }
13 }
14 }
复制代码
3.选择排序的总体思路和交换排序的总体思路相似,都是将某个范围内的最小数提到该范围内的第一位,它的代码结构跟交换排
温馨提示:答案为网友推荐,仅供参考
相似回答