`
邱铁军
  • 浏览: 42458 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java数据结构

阅读更多
java中的简单排序
对于我们经常用到的冒泡排序来说 他遵守3个约定
1:比较2个数字
2:如果满足条件 就交换2个数字位置
第一趟结果之后 最大或者最小的数字冒泡到最上面 最大位置。
可以这样理解 当一趟冒泡结束后 最大或者最小的值一定可以确定出来 需要循环n-1次

选择排序过程也可以认为他是局部有序的:

我们可以这么理解   当吧一个随机数组放在面前的时候 我们假设第一个是最小的 然后用这一个最小的跟他后面剩下的值进行比较 找他比这个假设的值换小的 我们就就交换他们的位置 执行过程 多次比较 一次交换。

int outer,int,min
for(out=0;out<size-1;out++){
min=out;
for(in=out+1;in<size;in++){
        if(array[in]<array[min]){
                  min=in;
          }
}
交换
swap(out,min);
}



插入排序过程跟选择排序差不多    他经过一轮排序后 默认的左边小于当前下标的情况下 他是局部有序的

在每一趟结束后,在将temp位置的项插入后,比outer标量下标小的数据项都是局部有序的
例如:
int outer; int in;
for(outer=0;outer<size;outer++){
long temp=array[outer];
in=outer
while(in>0&& array[in-1]>temp)
     array[in]=array[i-1];
    --in;
}
array[in]=temp;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics