java插入排序算法
发布网友
发布时间:2022-04-27 06:35
我来回答
共4个回答
热心网友
时间:2022-04-27 00:18
import java.util.Arrays;
public class Insert {
public static void main(String[] args) {
int[] ary={8,3,7,1,9,4};
selectionSort(ary);
System.out.println(Arrays.toString(ary));
}
public static void selectionSort(int[] ary) {
int i,j,t;
for(i=1;i<ary.length;i++){
t=ary[i];
for(j=i-1;j>=0&&t<ary[j];j--){
ary[j+1]=ary[j];
}ary[j+1]=t;
}
}
}
插入算法的原理是当要被插入的数比数组中元素小就放在他的前面,加了一个中间变量t,把数组元素先放那存着。如果成功插入就把插入数据放到对应的数组位置。然后下一个继续先放在t里面存着。直到最后一个数
热心网友
时间:2022-04-27 01:36
private static int[] insertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
for (int j = i - 1; j >= 0 && temp < array[j]; j--) {
array[j + 1] = array[j];
array[j] = temp;
}
}追问然后要怎么输出啊? 我在循环最后面加了个print的那个 结果有重复的数字。。。
追答private static int[] insertSort(int[] array) {
for (int i = 1; i = 0 && temp < array[j]; j--) {
array[j + 1] = array[j];
array[j] = temp;
}
}
return array;
}
main方法里面:System.out.println(Arrays.toString(insertSort(array)));
数字重复应该是你给的arry里面有重复数字,我方法里没去重
热心网友
时间:2022-04-27 03:11
private static int[] insertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int temp = array[i];
for (int j = i - 1; j >= 0 && temp < array[j]; j--) {
array[j + 1] = array[j];
array[j] = te
热心网友
时间:2022-04-27 05:02
百度冒泡排序法