黑马程序员技术交流社区
标题:
数组的选择排序和冒泡排序
[打印本页]
作者:
陈泰延
时间:
2013-1-3 19:31
标题:
数组的选择排序和冒泡排序
本帖最后由 陈泰延 于 2013-1-3 19:40 编辑
// 还有其它的方法? 请高手们指教!
// 插入排序 public static void chaRu(int[] x)
{ for (int i = 1; i < x.length; i++)
{
// i从一开始,因为第一个数已经是排好序的啦
for (int j = i; j > 0; j--)
{
if (x[j] < x[j - 1])
{
int temp = x[j];
x[j] = x[j - 1];
x[j - 1] = temp;
}
}
}
for (int i : x)
{
System.out.print(i + " ");
}
}
// 希尔排序
public static void shell(int[] x)
{
// 分组
for (int increment = x.length / 2; increment > 0; increment /= 2)
{
// 每个组内排序
for (int i = increment; i < x.length; i++)
{ int temp = x[i]; int j = 0;
for (j = i; j >= increment; j -= increment)
{ if (temp < x[j - increment])
{
x[j] = x[j - increment];
}
else {
break;
}
}
x[j] = temp;
}
}
for (int i : x) {
System.out.print(i + " ");
}
}
}
复制代码
作者:
李奇
时间:
2013-1-3 20:01
我来个 冒泡排序 吧
public class Test {
public static void main(String args[]) {
int temp=0;
int[] nums={1,3,2,4,6,5};
for (int i = 0; i < nums.length-1; i++) {
for (int j = 0; j < nums.length-i-1; j++) {
if (nums[j]>nums[j+1]) {
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]);
}
}
}
这个是升序排列,要是降序只要改变下if里的条件就可以。你就记住,n个数排序,外层循环n-1,内层循环n-i-1。
作者:
肖志锋
时间:
2013-1-3 21:09
。。常说的也就是冒泡和选择,而且只要会就行了,因为你根本不会用,java自带有排序的,好像一共有7还是8种排序方式,不过没必要去纠结了,熟练冒泡跟选择就好了。
作者:
黄锦成
时间:
2013-1-6 15:20
平时了解的就冒泡和选择排序了。主要是了解它的思路就行了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2