java 直接插入排序的例子
发布网友
发布时间:2022-04-27 06:35
我来回答
共3个回答
热心网友
时间:2022-06-27 19:21
public void insertSort(int[] data)
{
int length = data.length();//获取数组长度
for(int i=1;i<length;i++)
{
int tmp = data[i];
if(tmp<data[i-1])
{
int j = i-1;
for(;j>=0&&data[j]>tmp;j--)
{
data[j+1] = data[j];
}
data[j+1] = tmp;
}
}
}
大概就是这样,有什么问题问我吧。
希望能对你有所帮助,谢谢
热心网友
时间:2022-06-27 19:22
import java.util.Random;
public class Leaf {
public static void main(String args[]){
int[] a=new int[100];
Random random = new Random();
for(int i=0;i<a.length;i++){
a[i]=random.nextInt(99)+1;
}
int[] array=new Leaf().sort(a);
for(int i=0;i<array.length;i++)
System.out.print(array[i]+" ");
}
public int[] sort(int[] a){
if(a!=null){
for(int i=1;i<a.length;i++){
int temp=a[i],
j=i;
//从小到大排序
if(a[j-1]>temp){//如果前面一个大于后面一个数
while(j>=1&&a[j-1]>temp){//比较前面是否有更大的数,如果有就把它插到后一位..比如a[0]=12;a[1]=2;那么交换一下就是a[0]=2;a[1]=12
a[j]=a[j-1];
j--;
}
}
a[j]=temp;//第j个数等于temp
}
}
else
System.out.print("数组不能为空");
return a;
}
}
请参考
热心网友
时间:2022-06-27 19:22
public void insertSort(int[] data)
{
int length = data.length();//获取数组长度
for(int i=1;i<length;i++)
{
int tmp = data[i];
if(tmp<data[i-1])
{
int j = i-1;
for(;j>=0&&data[j]>tmp;j--)
{
data[j+1] = data[j];
}
data[j+1] = tmp;
}
}
}
大概就是这样,有什么问题问我。