1.歸併排序
public
static
void
mergesort
(int
arr)
mergesort
(arr,
0,arr.length-1)
;}public
static
void
mergesort
(int
arr,
int l,
int r)
int mid=l+
(r-l)/2
;mergesort
(arr,l,mid)
;mergesort
(arr,mid+
1,r)
;merge
(arr,l,mid,r);}
public
static
void
merge
(int
arr,
int l,
int m,
int r)
else}if
(left1==m+1)
}if(left2==r+1)
}for
(int j=
0;j)}
2.荷蘭國旗問題
1)小於等於的放左邊,大於的放右邊
private
static
void
sort
(int
test,
int i,
int length,
int num)
}printarray
(test)
;}
2)小於的放左邊,等於的放中間,大於的放右邊
public
static
int[
]partition
(int
arr,
int l,
int r,
int num)
else
if(arr[l]
>num)
else
}return arr;
}
3.快速排序
public
static
void
quicksort
(int
arr)
quicksort
(arr,
0,arr.length-1)
;}public
static
void
quicksort
(int
arr,
int l,
int r)
}public
static
int[
]partition
(int
arr,
int l,
int r)
else
if(arr[l]
>arr[r]
)else
}swap
(arr,l,r)
;//注意這裡是要交換的
return
newint
;//注意返回的是less
}public
static
void
swap
(int
arr,
int i,
int j)
4.堆排序
public
static
void
heapsort
(int
arr)
//建堆方式一
// for (int heapsize=0;heapsize
// heapinsert(arr,heapsize);
// }
//建堆方式二
for(
int i=
(arr.length-2)
/2;i>=
0;i--
)for
(int i=arr.length-
1;i>
0;i--)}
//每新增乙個元素都跟他的父節點比較,直到根或者不大於父節點
public
static
void
heapinsert
(int
arr,
int index)
while
(index !=
0&& arr[index]
> arr[
(index-1)
/2])
}//該節點和子節點相比較
public
static
void
heapify
(int
arr,
int index,
int size)
else
larger=arr[larger]
>arr[index]
?larger:index;
if(larger==index)
swap
(arr, index, larger)
; index = larger;
left=index*2+
1;}}
public
static
void
swap
(int
arr,
int i,
int j)
第二課 氣泡排序
quote 筆記 氣泡排序 quote b 1.氣泡排序類 b package com.flysnow.chap03 氣泡排序 author 飛雪無情 since 2010 3 25 public class arraybub 插入元素 param value public void insert ...
第二課 安裝PHP
為什麼要安裝php?php是伺服器端解析程式,一般執行在網路伺服器上。而編寫php語言的程式我們一般是在自己的個人電腦上完成,然後拿到伺服器上除錯。所以,學習php首先要讓我們的個人電腦模擬伺服器執行環境,讓php能象在伺服器上一樣在我們的個人電腦上執行。這就是為什麼要安裝配置php的原因。安裝配置...
csdn之旅 第二課
1.html標題的標籤 1 注意 只能到,在往後就沒有作用了。2 標籤特點 可以區別其他文字,比如可以加粗 效果圖如 笑對生活!笑對生活!笑對生活!笑對生活!改變字型大小 可以自動換行 2.html段落標記 用元素 注意 標籤和標籤之間的關係 可以巢狀使用 但不可以交叉 3.html常用標記 單標記...