插入排序
每一轮插入排序后的结果与打扑克牌取牌原理相似,将取到的牌插入服务器托管网到合适的位置,但在程序实现方面还是基于交换的算法。
它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。
import java.util.Random;
public class InsertSelect {
public static void main(String[] args) {
int[] arr = createArray(10);
printArray(arr);
//插入排序
insertSort(arr);
System.out.println("插入排序后的数组为:");
printArray(arr);
}
public static void insertSort(int[] arr){
if (arr == null || arr.length 2){
return;
}
for (int i = 1; i arr.length; i++) {//0~i 做到有序
for (int j = i-1;j>=0&&arr[j]>arr[j+1];服务器托管网j--){//j>=0 防止j--数组下标越界
//不停的交换,直到0——i是有序的
swap(arr,j,j+1);
}
}
}
//交换数组元素的方法
public static void swap(int[] arr,int i,int j){
//异或交换法——i和j是一个位置的话就会出错
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
//常规交换
/* int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;*/
}
//随机生成数组,数组中的元素[0,20)
public static int[] createArray(int length) {
int[] arr = new int[length];
Random random = new Random();
for (int i = 0; i arr.length; i++) {
arr[i] = random.nextInt(20);//[0,20)
}
return arr;
}
//打印数组方法
public static void printArray(int[] arr){
for (int i=0;iarr.length;i++) {
if (i==0){
if (arr.length==1){
System.out.println("["+arr[0]+"]");
}else{
System.out.print("["+arr[i]+",");
}
}else if(i==arr.length-1){
System.out.println(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
System.out.println("--------------------------------------------------------");
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
为了成功完成项目并控制成本,我们有必要采取科学的项目管理方法。实现这一目标的工具是项目计划和工作分解结构(WBS)。 WBS 与项目计划是项目管理中必不可少的工具,但两者有不同的用途。WBS精确描述了项目工作和可交付成果,而项目计划则为有效完成项目提供了总体路…