黑马程序员
关于冒泡和选择排序
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
我思索许久,还是决定写下这篇文章。
不然我老感觉心里有什么“堵”住了。
而这所谓的“堵”来自哪里呢?那便是我前几天所做的“黑马”测试题上便有一道要我写出xxx排序。
当时我没有写出来,我没有一点点思路。我不知道怎么入手。
虽然这些代码从百度等各种网站一搜一大把,但是我并没有这样做。而是空白的交给了老师。或许许多人会认为我的态度不好。但是我觉得真正的事实只有自己知道便可。
闲话也不多说,我今天便要把这“堵”从心中给除去。
1 选择排序
基本思想:
就是将角标从0开始依次从左往右进行比较,如果元素的值比相对比的值小,那么就把它们的值进行交换。相等或者大于它的情况下不做改变。
基本代码;
for(int i=0;i<arr.length-1;i++)//取出角标为0的值
{
for(int j=i+1;j<arr.length;j++)//用角标为0的值与其他的值一一比较
{
//int temp = 0;
if(arr[i]>arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
2 冒泡排序
基本思想:
冒泡就是将两个相邻的值相比较,如果满足定义好的条件就交换值。也就是把值小的放在前面,值大的放在后面。依次类推。
基本代码:
for(int i=0; i<arr.length-1;i++)
{
for(int j=0; j<arr.length-i-1;j++)//让每一次比较的元素减少,-1,避免角标越界。。
{
if(arr[j]>arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
纯属新手,第一次写。。。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<ahref="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>