黑马程序员——浅谈冒泡排序
来源:互联网 发布:相机sd卡数据丢失 编辑:程序博客网 时间:2024/05/12 11:01
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
在编写程序时,常常会用到排序来显示数据。可见排序的方法是程序必修的课程。排序的方法有很多种,百度一下你就知道。由于我还是处于菜鸟进级状态,因此只会大众化的冒泡排序。其它排序方法持续学习中……
冒泡排序:
已知有一组无序数据int[] scores={25,12,45,85,40,12,56,20,92,17,6};共有11个数,需要将其按升序排列。首先比较scores[0]与scores[1]的值,若scores[0]大于scores[1]则交换两者的值,否则不变。再比较scores[1]与scores[2]的值,若scores[1]大于scores[2]则交换两者的值,否则不变。再比较scores[2]与scores[3],以此类推,这样处理一轮后,scores[10]的值一定是这组数据中最大的。再对scores[0]~scores[9]以相同方法处理一轮,则scores[9]的值一定是scores[0]~scores[9]中最大的。再对scores[0]~scores[8]以相同方法处理一轮,以此类推。共处理10轮后scores就以升序排列了。
由此可得出结论:需要进行的轮数(i)为数组的长度减去一 i=(scores.length-1)
每一轮需要两两相比较的进行次数(j)为数组的长度减去比较的轮数 j=scores.length-i
代码如下:
class 冒泡排序
{
int[] scores={25,12,45,85,40,12,56,20,92,17,6};
for(int i=0;i<scores.length-1;i++)
{
for(int j=0;j<scores.length-1-i;j++)
{
if(scores[j]>scores[j+1])
{
int temp=scores[j];
scores[j]= scores[j+1];
scores[j+1]=temp;
}
}
}
}
冒泡法口诀(升序排列):
N个数字来排队,两两相比小靠前;
外层循环N-1,内层循环N-1-i;
若需要降序排列,只需要把两两相比较的符号换成小于就行了
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
- 黑马程序员——浅谈冒泡排序
- 黑马程序员——冒泡排序
- 黑马程序员——选择排序和冒泡排序
- 黑马程序员-冒泡排序
- 黑马程序员-冒泡排序
- 黑马程序员--冒泡排序
- 黑马程序员---排序-冒泡排序
- 黑马程序员————java实现冒泡排序
- 黑马程序员——冒泡排序、方法、参数、返回值
- 黑马程序员——java学习2(冒泡排序)
- 黑马程序员——C语言的冒泡排序
- 黑马程序员——C语言的冒泡排序
- 黑马程序员——C基础之冒泡排序
- 黑马程序员—内外层循环以及冒泡排序法
- 黑马程序员——java基础排序算法:选择排序、冒泡排序和插入排序
- 黑马程序员-冒泡排序复习
- 黑马程序员---------数组 冒泡排序
- 黑马程序员--冒泡排序法
- 5年前给我职业生涯带来重大影响力的开发架构、开发思想(软件分层架构、UML的重要性)
- VTK拾取相关的类
- 如何实现iPhone应用下的IAP--在应用内购买
- 动态创建方法和使用msil指令动态写入方法一(了解ILGenerator)
- SysWOW64是个什么文件夹?
- 黑马程序员——浅谈冒泡排序
- 来自外部的保护,制造了无能的就业者
- POJ-1674(n的一个全排列中要变成顺序需要几次交换)
- initcall机制
- Windows Phone的网络连接策略
- CSDN社区分享面试经历活动作品5——再接再厉
- 5年前给我职业生涯带来重大影响力的SQL语句(您SQL到了什么境界了)
- ITPUB知识索引树
- 安装rpm包时遇到error: Failed dependencies:错误