Java排序算法
java操作中常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。下面是小编为大家搜索整理的Java排序算法,希望大家能有所收获,更多精彩内容请及时关注我们应届毕业生考试网!
1,冒泡法
public class BubbleSortImpl1 {
public static void BubbleSort(int A[]) {
int n = th;
for(int i=0;i
for(int j=0;j
if(A[j]>A[j+1])
{
int temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;//直接调用Swap会出错。why?
}
}
}
}
public static void swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30 };
BubbleSort(A);
for (int i = 0; i < th; i++) {
tln(A[i]);
}
}
}
2,堆排序
public class HeapSort {
static void HeapAdjust(int H[],int s,int n){//使H[s...m]称为一个大顶堆
int rc=H[s];
int j;
for(j=2*s;j<=n;j=j*2){
if(j
++j;//j为父节点的`最大孩子
if(rc>=H[j])
break;//rc应该掺入在j的父位置上
H[s]=H[j];//j上移
s=j;
}
H[s]=rc;
}
static void Heap_Sort(int H[]){
int n=th;
for(int i=n/2;i>0;i--){
HeapAdjust(H,i,n);
}//
for(int k=n-1;k>1;k--){
int temp=H[1];
H[1]=H[k];
H[k]=temp;//将堆顶记录和 当前未经排序子序列中最后一个记录交换。
HeapAdjust(H,1,k-1);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[]={0,3,5,9,2,7};
Heap_Sort(A);
for(int i=0;i
t(A[i]);
}
}
3,插入排序
public class InsertSortImpl {
/**
* @param args
*/
public static void InsertSort(int A[]) {
int n = th;
for (int i = 0; i < n-1; i++) {
int temp = A[i+1];
Insert(A, temp, i );
}
}
public static void Insert(int A[], int e, int k) {// 对A[1...k]排序
while(k>=0&&A[k]>e){
A[k+1]=A[k];
k--;
}
A[k+1]=e;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int A[] = new int[] { 2, 5, 3, 9, 7, 1, 30,6 };
InsertSort(A);
for (int i = 0; i < th; i++) {
tln(A[i]);
}
}
}
-
新手学习Java最高效的10个计划
对于新手来说学习Java如同堵天书,下面是本站小编收集的关于新手学习Java最高效的10个计划,希望可以为您的学习带来帮助!计划一:了解未来技术发展方向两耳不闻窗外事,在如今是不合适的,尤其是在瞬息万变的互联网时代,作为一个开发者技术跟不上可以去专研,思想要跟不上,...
-
2017年3月计算机二级考试Java关键字
大家回忆一下我们在学习汉语的时候,开始学的是什么?肯定是先学一些单个的字,只有认识了单个的字,然后才能组成词,然后才能慢慢的到句子,然后到文章。学习同计算机语言跟这个过程是一样的,首先我们得学习一些计算机看得懂的单个的字,那么这些单个字在Java里面就是关键...
-
Java 正则表达式
Java是一门编程语言,那么大家知道Java正则表达式是怎样的呢?下面一起来看看!Java正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其...
-
2017计算机二级考试Java练习题及答案
以下是应届毕业生考试网小编整理的2017年计算机二级考试Java练习题及答案,供考生参考。更多计算机等级考试相关信息请关注应届毕业生计算机等级考试网。1[单选题]下列方法被调用后,一定使调用线程改变当前状态的是()。fy()d()p()ive()参考答案:C参考解析:线程调用s...