好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 qin462328037 于 2013-9-11 00:47 编辑
[Java] 纯文本查看 复制代码 直接插入排序法(变形)
public static void insertSort(DataWrap[] data)
{
System.out.println(“排序前:”);
int arrayLength = data.length;
for(int i = 0 ; i < arrayLength-1; i ++)
{
DataWrap tmp = data[i][i]; //命名条件:用于保存临时数据,完成插入
//建立i的关系(否则从0到arrayLength-1)
for (int j = i+1; j < arrayLength ; i++)
{
If ( data[i].compareTo(data[j]) > 0 )
{
data[i] = data[j]; // 移动
}
Data[j] = tmp; // 插入(写在判断体中也可以)
}
System.out.println(java.util.Arrays.toString(data));
}
}
[Java] 纯文本查看 复制代码
直接选择排序法(原型)
public static void SelectSort(DataWarp[] data)
{
System.out.println(“排序前”);
int arrayLength = data.length;
for (int i = 0 ; i < arraylength -1; i ++)
{
int minIndex = i ; // 未用
//建立i的关系(否则从0到arrayLength-1)
for (int j = i+1; j < arrayLength ; i++)
{
If ( data[i].compareto(data[j]) > 0 )
{
DataWrap tmp = data[i]; // 交换
data[i] = data[j];
data[j] = tmp;
}
}
System.out.println(java.util.Arrays.toString(data));
}
}
1..直接插入排序法和直接选择排序法本质是一样的,写法不同而已。请大家注意
2.从命名条件到后面的移动并插入和交换本质是一样的~
3.请留心双重for循环的起始位置和终点位置。
分享经验,传递正能量~
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|