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
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
相关文章推荐
- 面试常用算法总结——排序算法(java版)
- 面试常用算法总结——排序算法(java版)
- ACM等算法比赛中JAVA 常用"STL"总结:TreeMap,Queue,PriorityQueue等
- 【JAVA】常用加解密算法总结及JAVA实现【BASE64,MD5,SHA,DES,3DES,AES,RSA】
- java常用算法总结
- Java常用算法总结
- java 常用集合list与Set、Map区别及适用场景总结
- 从Java转iOS第一个项目总结(常用第三方,工具介绍)
- 常用算法总结
- 算法(第四版) 学习总结三 Java输入输出、二分查找、源代码地址
- JVM学习(4)——全面总结Java的GC算法和回收机制
- DAY21--java中的网络编程TCP/IP常用知识点总结
- java常用总结
- java——常用类的总结
- Java中常用的设计模式总结
- 『算法』读书笔记 1.2 Java语法 - 练习代码总结
- javascript中的一些常用的数组算法总结
- 冒泡排序、堆排序等常用算法总结
- java 常用集合list与Set、Map区别及适用场景总结
- java常用算法