c语言考试。问数组,常见的数组排序算法有那几种?选择一个描述过程。

冒泡排序是逐层比较相邻的数字,将较大的数字推到后面,就像水气泡浮到顶部一样。

外层重复9 次,内层从后到前与数字i进行比较。

例如,数组中有1 0个数字,第一次比较9 对,第二次比较8 对,以此类推。

代码中,i为外循环,代表排序的次数; j是内循环,代表比较位置。

Data[j]和data[j-1 ]交换,大数传回。

衡量一下你自己是否适合。

Java数组排序 几种排序方法详细一点

Java 中的类型集通常涉及这些技术。
使用 Array.sort() 非常简单,只需一行即可完成,如下所示:
java int[] a = {5 , 4 , 2 , 4 , 9 , 1 }; 数组.sort(a); for (int i : a) { System.out.print(i); }
这段代码是什么时候写的?前几天看视频的时候写的。
运行结果为 1 2 4 4 5 9 ,这是直接排序的。

如果要自己写,老板就是一个典型的例子。
到底是怎么回事?一层一层比较,大的往后移就可以了。
例如,如果先比较这个序列,5 与 4 比较,5 更大,然后 tela,然后 4 与 2 比较,4 更大,再次 tela,如此循环。
代码是这样写的:
java 公共静态 int[] bubbleSort(int[] args) { for (int i = 0; i < args>1 ; i++) { for (int j = i + 1 ; j < args> args[j]) { int temp = args[i]; args[i] = args[j]; args[j] = 温度; } } } 返回参数; }
当我写这些段落的时候,我的手很累。
你会看到j从i+1 开始并且比每次都大。
如果大了就换。
就这样,一层又一层,终于整理好了。

选拔赛也是一个古老的系统。
首先,他假设第一个数字是最小的,然后将其与后面的数字进行比较。
如果他发现较少,请写下来。
比较整个数组,找到最小的一个,移到前面。
代码逻辑如下:
java 公共静态 int[] selectSort(int[] args) { for (int i = 0; i < args>1 ; i++) { int 最小值 = i; for (int j = i + 1 ; j < args> args[j]) { 最小值=j; } } 如果(分钟!=我){ int temp = args[i]; args[i] = args[min]; args[分钟] = 温度; } } 返回参数; }
我昨天就在想这个问题。
您会看到 min 以 i 开头,j 以 i+1 开头。
每次发现更小的值时,min 都会更新。
最后,如果我不喜欢,就改变它。
只要这样做,你就会没事的。

种族的插入是不同的。
它不是均匀比较,而是一次取一个数字并将其插入到先前排列的部分中。
比如第一个数是5 ,第二个数是4 ,如果4 小于5 ,就必须插在5 前面,才能变成4 5 那么第三个数就来了2 2 小于4 又小于5 ,所以插在前面,就成了2 4 5 代码是这样写的: 公共静态 int[] insertSort(int[] args) { for (int i = 1 ; i< args xss=clean> 0; j--) { if (args[j] < args>1 ]) { int temp = args[j
1 ]; args[j
1 ] = args[j]; args[j] = 温度; } 否则{ 打破 } } } 返回参数; }
当我写这些段落时,我突然陷入困境,我不明白为什么我必须打破其他东西。
我后来查了一下才知道。
你会看到j从i开始向后运行。
如果它很小,它就会一直改变。
如果不改变,就不会破坏多个改变。
反正这样的话,就可以安排得很好了。

对于这些类型的方法,Array.sort() 是最方便的快速排序方法。
如果自己写的话,煮起来很简单。
插入稍微复杂一点,选择也排序好。
看看我们写的,飞机的每一种方法都得到了解释,没有任何花里胡哨的东西。

排序方法有哪几种

说到排序方法,真是多种多样。
我多年来一直在问答论坛上工作,并且见过很多这样的论坛。
例如,气泡分离就像洗衣服一样。
一个接一个地比较,一个比一个重。
较重的被向前推,较轻的被向后推。
很简单,但是速度很慢,尤其是数据量很大的时候。
我之前处理过一次,数据有几百万,花了很长时间才完成。

然后是选择排序,就像摘苹果一样。
每次都选择未洗的苹果中最小的一个,然后将其放入洗过的篮子中。
继续这样采摘,直到篮子装满洗净的、即分类的苹果。
不过过程相当艰难,来来回回了好几次。

对插页进行排序就像将书籍放在书架上,一次一本书。
每次放的时候都要找好位置。
如果书架上的书已经按顺序排列好了,收起来会更快。
我记得帮助某人整理数据。
数据已经很整齐了,所以很快就完成了。

希尔排序就像将一长串书籍分成较小的部分,然后分别对它们进行排序。
这将比直接对整个图书列表进行排序更有效。
当时我不明白为什么它比直接编译更快。
然后我查了资料,发现是这样的。

对组合进行排序就像拼图游戏。
首先将其分成小部分,然后分别排序,最后重新组合在一起,以确保整个顺序有序。
这种方法相当先进,但实现起来却相当复杂。

快速淘汰就像是接力赛。
每次选择一个基准值,然后将另一个数分成两部分,一部分小于基准值,另一部分大于基准值,然后继续对这两部分进行排序,这样就可以快速对整个序列进行排序。

堆排序就像建造金字塔。
每次将最大的数字放在金字塔的顶部,这样就可以确保每次抽到的数字都是最大的。

计数排序就像给每个数字分配一个数字,然后按数字排序。
适用于取值范围较小的数据。

桶排序就像把所有东西都扔进一个桶里,然后对每个桶分别进行排序,适合均匀分布的数据。

最后一种是基数排序,就像按衣服尺码排序一样,先按最小尺码排序,然后按次小尺码排序,直到最大尺码,适合有优先顺序的数据。

每种排序方式都有自己的特点和适用场景。
正如每个人都有自己的优点和缺点一样,选择正确的方法也很重要。