简单的排序算法
来源:互联网 发布:设置软件管理员权限 编辑:程序博客网 时间:2024/05/02 02:11
时间过的可真快!转眼间已经做程序员好几年了,这几年一直在写java程序,但是很基础的知识却逐渐忘却了!今天写几个较常用的排序熟悉一下基础知识.
选择排序:
public class ChooseSort {
public void sort(int[] queue){
for(int i=0;i<queue.length-1;i++){
int k=i;
for(int j=i+1;j<queue.length;j++){
if(queue[j]<queue[k]){
k=j;
}
}
if(k!=i){
swap(queue,i,k);
}
}
}
/**
* 交换位置
*/
private void swap(int[] queue, int i, int k) {
int temp = queue[i];
queue[i] = queue[k];
queue[k] = temp;
}
}
冒泡排序:
public class MaoPao {
public void sort(int[] queue){
for(int i=0;i<queue.length-1;i++){
for(int j=i+1;j<queue.length;j++){
if(queue[i]>queue[j]){
swap(queue,i,j);
}
}
}
}
/**
* 交换位置
*/
public void swap(int[] queue,int i,int j){
int temp = queue[i];
queue[i] = queue[j];
queue[j] = temp;
}
}
快速排序:
public class QuickSort {
public void sort(int[] queue){
int left = 0;
int right = queue.length-1;
sub(left,right,queue);
}
private void sub(int left, int right, int[] queue) {
if(left<right){
int middleNum = queue[(left+right)/2];
int i = left-1;
int j = right +1;
while(true){
while(queue[++i]<middleNum);
while(queue[--j]>middleNum);
if(i>=j){
break;
}
swap(queue,i,j);
}
sub(left,i-1,queue);
sub(j+1,right,queue);
}
}
private void swap(int[] queue, int i, int j) {
int temp = queue[i];
queue[i] = queue[j];
queue[j] = temp;
}
}
- 简单的排序算法
- 简单的排序算法
- 简单的排序算法
- 简单的选择排序算法
- 几个简单的排序算法
- 几个简单的排序算法
- 归并排序的简单算法
- 简单排序算法的总结
- 几个简单的排序算法
- 排序算法的简单总结
- 简单排序算法的实现
- 几个简单的排序算法
- 简单的排序算法总结
- 一个简单的排序算法
- 简单的排序算法笔记
- 一个简单的排序算法
- java的简单排序算法
- 简单的排序算法:快速排序
- 禁止本地中断
- Response.Write("") 将页面字体 撑大解决办法
- DIV 弹出层
- 去除表达式里面多余的()
- http://www.bookuu.com/kgsm/ts/2009/07/08/1551125.shtml
- 简单的排序算法
- jQuery 对select操作
- 极地星空android学习笔记(二)android各类命令和工具的使用(有图有真相)
- AJAX_EXT EXT开发时,注意以及技巧
- ubuntu下载安装rrdtool
- 《C专家编程》学习总结2
- Android SQLITE 简单起步
- FLASH加载xml,txt,swf
- java.lang.UnsupportedClassVersionError: Bad version number in .class file