简单排序(冒泡,选择排序,插入排序)
2012-04-10 16:52
267 查看
冒泡排序
//时间2012.4.10
//功能:冒泡排序
//作者:
public class TestSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long[] arry=new long[5];
arry[0]=35;
arry[1]=25;
arry[2]=45;
arry[3]=15;
arry[4]=55;
for(long num:arry)
{
System.out.print(num+" " );
}
System.out.println();
//冒泡排序
BubbleSort.sort(arry);
for(long num:arry)
{
System.out.print(num+" " );
}
}
}
public class BubbleSort {
public static void sort(long[] arry)
{ //确定第几趟排序
for(int i=0;i<arry.length-1;i++)
{
//确定好当前元素,和后面元素比较(从后面开始)
for(int j=arry.length-1;j>i;j--)
{
long temp=0;
if(arry[j]<arry[j-1])
{
temp=arry[j];
arry[j]=arry[j-1];
arry[j-1]=temp;
}
}
}
}
}
选择排序(效率要比冒泡排序高一些,交换的次数要少)
public class StraitSsort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long[] arry=new long[5];
arry[0]=23;
arry[1]=13;
arry[2]=33;
arry[3]=3;
arry[4]=43;
for(long num:arry)
{
System.out.print(num+" ");
}
//打印换行
System.out.println();
Sort.selectsort(arry);
for(long num:arry)
{
System.out.print(num+" ");
}
}
}
public class Sort {
public static void selectsort(long[] arry)
{
int k=0;
long temp;
//i记录趟数
for(int i=0;i<arry.length-1;i++)
//通过j和k,并且k指向最小数
{
k=i;
for(int j=i;j<arry.length ;j++)
{
if(arry[j]<arry[k])
{
//交换次序使k指向为最小的
k=j;
}
}
temp=arry[i];
arry[i]=arry[k];
arry[k]=temp;
}
}
}
直接插入排序
public class InsertSort {
public static void sort(long[] arry)
{
long temp=0;
for(int i=1;i<arry.length;i++)
{
temp=arry[i];
int j=i;
while(j>0&&arry[j]>=temp)
{
arry[j]=arry[j-1];
j--;
}
arry[j]=temp;
}
}
}
//时间2012.4.10
//功能:冒泡排序
//作者:
public class TestSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long[] arry=new long[5];
arry[0]=35;
arry[1]=25;
arry[2]=45;
arry[3]=15;
arry[4]=55;
for(long num:arry)
{
System.out.print(num+" " );
}
System.out.println();
//冒泡排序
BubbleSort.sort(arry);
for(long num:arry)
{
System.out.print(num+" " );
}
}
}
public class BubbleSort {
public static void sort(long[] arry)
{ //确定第几趟排序
for(int i=0;i<arry.length-1;i++)
{
//确定好当前元素,和后面元素比较(从后面开始)
for(int j=arry.length-1;j>i;j--)
{
long temp=0;
if(arry[j]<arry[j-1])
{
temp=arry[j];
arry[j]=arry[j-1];
arry[j-1]=temp;
}
}
}
}
}
选择排序(效率要比冒泡排序高一些,交换的次数要少)
public class StraitSsort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long[] arry=new long[5];
arry[0]=23;
arry[1]=13;
arry[2]=33;
arry[3]=3;
arry[4]=43;
for(long num:arry)
{
System.out.print(num+" ");
}
//打印换行
System.out.println();
Sort.selectsort(arry);
for(long num:arry)
{
System.out.print(num+" ");
}
}
}
public class Sort {
public static void selectsort(long[] arry)
{
int k=0;
long temp;
//i记录趟数
for(int i=0;i<arry.length-1;i++)
//通过j和k,并且k指向最小数
{
k=i;
for(int j=i;j<arry.length ;j++)
{
if(arry[j]<arry[k])
{
//交换次序使k指向为最小的
k=j;
}
}
temp=arry[i];
arry[i]=arry[k];
arry[k]=temp;
}
}
}
直接插入排序
public class InsertSort {
public static void sort(long[] arry)
{
long temp=0;
for(int i=1;i<arry.length;i++)
{
temp=arry[i];
int j=i;
while(j>0&&arry[j]>=temp)
{
arry[j]=arry[j-1];
j--;
}
arry[j]=temp;
}
}
}
相关文章推荐
- 简单排序Java实现(一):冒泡排序,选择排序,插入排序(原理及实现)
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 【排序】时间复杂度为O(N^2)的排序——冒泡、选择和插入排序
- 数组的排序(选择/冒泡/插入排序)
- 第四篇、C_快速、冒泡、选择、插入排序、二分查找排序、归并、堆排序
- 3种简单排序:冒泡排序、选择排序和插入排序
- 快速排序、插入排序、选择、冒泡
- 数据结构与算法3——简单排序(冒泡、选择、插入排序)
- 3、简单排序(冒泡、选择、插入排序)
- 冒泡排序,选择排序,插入排序
- Java 实现三种简单排序——选择排序、插入排序、冒泡排序
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- 冒泡排序、交换排序、选择排序、插入排序、快速排序、SHELL排序
- c++排序part1: 冒泡、选择、插入排序
- 冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序六大排序大总结
- 冒泡排序 选择排序 插入排序
- 【算法基础】冒泡、选择、插入排序(三种基本排序)
- 经典排序之选择、冒泡、插入排序与系统排序的用时比较(Java)
- 冒泡、选择、快速排序、插入排序
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡