一篇穩定和非穩定文章
public
class
sjms ;
sort sort = new insertsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new shellsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new selectmiddleinsertsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new selectsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new heapsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new swapsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new fastsort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new mergesort();
sort.sort(nums);
printnums(nums);
nums = new
int;
sort = new radixsort();
sort.sort(nums);
printnums(nums);
}public
static
void printnums(int nums)
system.out.println("");
}}inte***ce
sort
//插入排序
//直接插入排序
class
insertsort
implements
sort else }}
}private
void swaparray(int nums, int i, int j)
}//希爾排序
class
shellsort
implements
sort else }}
k = k / 2;}}
private
void swaparray(int nums, int i, int j)
}//折半查詢插入排序
class
selectmiddleinsertsort
implements
sort
nums[result] = tmpvalue;}}
private
int selectinsertpo(int nums, int length, int value) else
if (nums[mid] > value) else
if (nums[mid] < value)
}return left;
}}//選擇排序
//簡單選擇排序
class
selectsort
implements
sort
}swaparray(nums, tmp, i);}}
private
void swaparray(int nums, int i, int j)
}//堆排序
class
heapsort
implements
sort
private
void sortheap(int nums, int length)
for (int i = length - 1; i > 0; i--)
}private
void adjustheap(int nums, int i, int length)
if (nums[k] > temp) else
}nums[i] = temp;
}private
void swaparray(int nums, int i, int j)
}//交換排序
//氣泡排序
class
swapsort
implements
sort }}
}private
void swaparray(int nums, int i, int j)
}//快速排序
class
fastsort
implements
sort
public
void quicksort(int nums, int left, int right)
while (i != j)
if (j > i)
while (i < j && nums[i] <= tmp)
if (j > i)
}nums[i] = tmp;
quicksort(nums, left, i - 1);
quicksort(nums, i + 1, right);
}}//歸併排序
class
mergesort
implements
sort
public
void mergesort(int nums, int left, int right)
}public
void merge(int nums, int left, int mid, int right) else
t++;
}while (i <= mid)
while (j <= right)
t = 0;
while (left <= right)
}}//基數排序
class
radixsort
implements
sort
public
void radixsort(int nums, int n, int maxnum)
int k = 0;
for (int b = 0; b < 10; b++)
for (int w = 0; w < count[b]; w++)
count[b] = 0;
}divisor *= 10;}}
public
int getmaxnums(int nums)
}return maxnums;}}
java實現9大排序演算法
排序大的分類可以分為兩種 內排序和外排序。在排序過程中,全部記錄存放在記憶體,則稱為內排序,如果排序過程中需要使用外存,則稱為外排序。一般來說外排序分為兩個步驟 預處理和合併排序。首先,根據可用記憶體的大小,將外存上含有n個紀錄的檔案分成若干長度為t的子檔案 或段 其次,利用內部排序的方法,對每個子...
資料庫設計中的9大常見錯誤
作為資料庫設計人員,當我們負責資料庫專案時,在資料庫設計以及把資料庫部署到生產環境的過程中可能會遇到一些挑戰。其中一些問題不可避免,也無法控制。但是,其中相當一部分可以追溯到資料庫設計本身的質量。我們在初步階段所做的決定會對資料庫最終的工作情況有深遠的影響。如果我們要建一所房子,我們不會聘請一位工程...
資料庫設計中的9大常見錯誤
作為資料庫設計人員,當我們負責資料庫專案時,在資料庫設計以及把資料庫部署到生產環境的過程中可能會遇到一些挑戰。其中一些問題不可避免,也無法控制。但是,其中相當一部分可以追溯到資料庫設計本身的質量。我們在初步階段所做的決定會對資料庫最終的工作情況有深遠的影響。如果我們要建一所房子,我們不會聘請一位工程...