数字排序问题
2013-10-23 20:39
260 查看
第一种:public class Start {
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if (a[j]<a[i]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
System.out.println(a[i]);
}
}
}
第一轮排序从第一个与其他数字比较,把最小的排到第一个位置;把第二个数字与其后面的数字比较,比较过后,较小的排在第二个位置。。。。。
第二种:
public class Start {
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
int k=i;
for(int j=k+1;j<a.length;j++){
if (a[j]<a[k]){
k=j;
}
}
if(k!=i){
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
System.out.println(a[i]);
}
}
}
第一轮中,i=0,把较小的数的索引赋值给K,判断k与i的关系若不想等,交换两数位置。依次进行第二轮,第三轮。。。(注:为节约空间,可将K,temp的定义放在函数的外部)
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if (a[j]<a[i]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
System.out.println(a[i]);
}
}
}
第一轮排序从第一个与其他数字比较,把最小的排到第一个位置;把第二个数字与其后面的数字比较,比较过后,较小的排在第二个位置。。。。。
第二种:
public class Start {
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
int k=i;
for(int j=k+1;j<a.length;j++){
if (a[j]<a[k]){
k=j;
}
}
if(k!=i){
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
System.out.println(a[i]);
}
}
}
第一轮中,i=0,把较小的数的索引赋值给K,判断k与i的关系若不想等,交换两数位置。依次进行第二轮,第三轮。。。(注:为节约空间,可将K,temp的定义放在函数的外部)
相关文章推荐
- 黑马程序员-String类和它的方法
- Windows环境下多线程编程原理与应用读书笔记(6)————临界段及其应用
- 在Windows XP中为Android 4.0设备安装MTP驱动程序
- epoll机制在搜索引擎spider中的应用
- TYVJ 1434 黑匣子
- jquery 仿163网易图片新闻幻灯片展示
- c++实现socket通信测试
- STL中map的使用
- MFC控件的使用
- android 多屏 多任务
- strtok函数和strtok_r函数的简单实现
- ASP.NET中在不同的子域中共享Session
- 鼠标悬停、事件触发试用,及信号发送
- mysql相关语句笔记
- poj 2115 C Looooops His love for her is enshrined forever in his heart.扩展欧几里得
- 单击一个颜色名或者 16 进制值,就可以查看与不同文字颜色搭配的背景颜色。
- java.lang.NoClassDefFoundError
- Unity界面插件NGUI核心组件说明
- 结构体的内存分配
- 在ubuntu12.04上用qvfb运行QtE程序