基本的几个排序
来源:互联网 发布:linux cdn 测试 编辑:程序博客网 时间:2024/05/17 06:59
1.插入排序算法:
将一组无序的数字排列成一排,左端第一个数字为已经完成排序的数字,其他为未排序数字。然后,从左到右依次将未排序的数字插入到已经排序的数字中。
示例:5 3 6 9 4 7 2
import java.io.*;public class my { public static void main(String args[]) { int[] a={5,3,6,9,4,7,2}; for(int i=1;i<a.length;i++){ //int tmp=a[i]; for(int j=0;j<i;j++){ if(a[i]<a[j]){ int tmp=a[i]; for(int k=i;k>j;k--) a[k]=a[k-1]; a[j]=tmp; } } } for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); }}
2.选择排序
选取未排序列中的最大数,放在尾部(和尾部元素调换),作为有序序列;然后再选出未排序列中的最大数,和尾部调换,作为有序序列的一个元素;如此反复。
import java.io.*;public class my { public static void main(String args[]) { int[] a={5,3,6,9,4,7,2}; for(int i=a.length-1;i>=1;i--){ int max=0; int tmp=a[0]; for(int j=1;j<=i;j++){ if(a[j]>tmp){ tmp=a[j]; max=j; } } a[max]=a[i]; a[i]=tmp; } for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); }}
3.冒泡排序
首先将一组无序的数字排列成一排,再从做点开始将相邻两个数字进行比较,将大的放到后面。每轮都是将未排序列中的最大数字冒泡到最后成为有序列的一员。
import java.io.*;public class my { public static void main(String args[]) { int[] a={5,3,6,9,4,7,2}; for(int i=a.length-1;i>0;i--){ int max=a[0]; int tmp=0; for(int j=1;j<=i;j++) { if(a[j]>max) { tmp=j; max=a[j]; } } a[tmp]=a[i]; a[i]=max; } for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); }}
- 基本的几个排序
- 几个基本排序算法的代码实现(C语言)
- 几个基本的算法
- 几个基本的概念
- 几个简单的排序
- 几个有趣的排序
- hadoop的几个排序
- 经济学的几个基本问题
- 软件工程的几个基本讨论
- Java的几个基本问题
- DataSet的几个基本操作
- DataSet的几个基本操作
- Workflow 几个基本的概念
- 几个基本的layout(一)
- 几个基本方法的说明
- SurfaceView的几个基本步骤
- DataGridView的几个基本操作
- 几个基本的密码学概念
- 三张经典图片展示Data Guard主备之间日志传输及恢复
- 网络课的笔记
- java 基础
- linux网络编程笔记1
- 数据流操作(一)
- 基本的几个排序
- new与delete
- 让WinXP登陆界面显示administrator账户的方法
- 数据流操作(二)
- vmware - 调整虚拟机硬盘空间的方法
- (转)gcc 的简单使用说明
- 装饰模式浅析(一)
- 9月——炎热的秋天
- 用Perl写的股票机