写这个博客的初衷呢,是今天在做java作业的时候,发现自己冒泡排序不会编了,最后是翻看以前的课本才实现的。仔细想象以前好像也就是看看书,好像也没有去实现过,要用了果然写不出来。今天写一个提醒一下自己。
冒泡排序的原理 :
冒泡排序的原理呢,其实还是记得的,比较的简单。就是从第一个数开始,逐个与下一个数比较,如果大于下一个数就交换位置,然后接着与下个数比较。例如:数组a[],a[0]>a[1],让a[0]与a[1]交换,然后a[1]与a[2]比较,接下来以此类推。
冒泡排序的实现:
```java
void sort(int[] a) {
//冒泡排序
int c=99;
for(int i=c;i>0;i--) {
int isFinish = 0;
if(isFinish==0) {
for(int j=0;j<99;j++) {
if(a[j]>a[j+1]) {
int b=a[j];
a[j]=a[j+1];
a[j+1]=b;
isFinish =1;
}
}
}
}
}
理解:
这段代码的核心是两个for循环,其中用一个isFinish来判断一趟冒泡排序是否结束,这个可以用布尔常量表示,我这里使用0和1代替。之前写不出感觉是少了这个判断,或者说处理判断的方式有问题。
结语:
以前的东西不用好像忘了特别多。希望以后能时常复习。上一次发博客好像还是上个学期,自己还是比较懒,希望以后博客可以多发一点,记录自己的学习过程。嗯, 就这样。