您的位置:首页 > 编程语言 > Java开发

JAVA 常用算法总结

2013-05-10 21:39 323 查看
第一种:选择排序

package arithmetic.sort;
import java.util.Arrays;
/**
*
选择排序(升序、降序)
* @author Amanda.liu
* 2013-5-9
*/
publicclass ShortDemo1 {
publicstaticvoid main(String[] args) {
//TODO Auto-generated method stub
int[] ary ={5,2,7,4,8,3};
ary = SortArry(ary);
System.out.println(Arrays.toString(ary));
}

privatestaticint[] SortArry(int[]
ary) {
//TODO Auto-generated method stub
for(int i = 0;i<ary.length-1;i++){
for(int j = i+1;j<ary.length;j++){
if(ary[i]>ary[j]){
int temp = ary[i];
ary[i] = ary[j];
ary[j] = temp;
}
}
}
return ary;
}
}// end of class ShortDemo1

第二种:冒泡排序

package arithmetic.sort;
import java.util.Arrays;
/**
*
冒泡排序
* @author Amanda.liu
* 2013-5-9
*/
publicclass SortDemo2 {
publicstaticvoid main(String[] args) {
int[] ary = { 5, 2, 7, 4, 8, 3 };
ary = SortArry(ary);
System.out.println(Arrays.toString(ary));
}
publicstaticint[] SortArry(int[]
ary) {
for (int i = 0; i < ary.length
- 1; i++) {
for (int j = 0; j < ary.length
- 1 - i; j++) {
if (ary[j] > ary[j + 1]) {
int temp = ary[j];
ary[j] = ary[j + 1];
ary[j + 1] = temp;
}
}
}
return ary;
}
}// end of class SortDemo2

第三种:插入排序

package arithmetic.sort;
/**
*
插入排序(WHILE循环实现)
* @author Amanda.liu
* 2013-5-9
*/
publicclass ShortDemo3 {
publicint[] insertSort1(int[]src){
int length = src.length;
for(int i = 1;i<length;i++){
int temp = src[i];
int j = i;
while(src[j-1] > src[i]){
src[j] = src[j-1];
j--;
if(j<=0){
break;
}
src[j] = temp;
}
}//for
return src;
}

publicstaticvoid main(String[] args) {
//TODO Auto-generated method stub
int [] src =newint[]{2,5,78,23,47,68,83};
ShortDemo3 demo =
new
ShortDemo3();
int[] newSrc =newint[src.length+10];
newSrc = demo.insertSort1(src);
for(int i = 0;i<newSrc.length;i++){
System.out.println(newSrc[i]);
}
}

}// end of class ShortDemo3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: