冒个泡泡

时间: 2010-03-16 / 分类: Web, 瞎扯蛋 / 浏览次数: 9,964 / 8个评论 发表评论

呃(⊙o⊙)…,做ERP的软件公司派了人来在做实施初始的一些工作,老夫闲的蛋疼,于是突然想到,冒个泡泡玩,想当年,老夫的二级C就倒在最后一道冒泡上,惭愧,没脸见人了,今天得把以前掉在地上的面子拾起来。最近看了二三十章PHP100的视频教程,不得不说张恩民同志是一个好同志,讲的课程通俗易懂,就老夫这左耳进右耳出的记性,也还能留下点什么。
先说说冒泡算法,最简单的排序算法(最简单的老夫都挂了,⊙﹏⊙b汗),把所有要排序的元素看作是竖着排列的气泡,小的较轻,就要上浮,首先从最底部开始扫描,也就是从最后开始,两两相比较,前面的小就不作改变,前面的大就互相交换,一直从尾部比较到头部,第一遍比较完,最小的数就排到了第一位,然后开始第二遍比较,也还是从尾部开始比较,第二遍比较完,第二小的数就排到第二了,最后第I遍的时候,第I位置的那个数就不用比较了,因为经过前面I-1轮的比较,这时候顺序已经是正常的了,也就是说10个数,得比较9轮,就这么两两比较,看来冒泡算法的效率是比较低的。

老夫写的简单冒泡排序:
http://dagai.net/wp-content/bubblesort.php
随机生成N个数,然后对这些书进行冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
if($_POST[number])
{
	$num=$_POST[number];
	echo "共随机生成".$num."个随机数:";
 
	for($n=0;$n<$num;$n++)
	{
		$arr[$n]=rand();
		echo $arr[$n]." ";
	}
	echo "<br>开始冒泡排序<br>";
 
	for ($i=0;$i<$num;$i++)
	{   #第一趟比较开始
		for ($j=$num-2;$j>=$i;$j--) #N个数的数组,数组序列就从0到N-1,那就从第N-2序列和第N-1序列比起
		{
			if($arr[$j+1]<$arr[$j]) #如果第N个数比第N-1个数小
			{
				echo "<br>第".($i+1)."趟第".($j+2)."个数";
				$tmp = $arr[$j+1];  #就把第N个数赋给一个临时变量
				$arr[$j+1]=$arr[$j]; #然后把第N-1序列的数赋给第N个序列
				$arr[$j]=$tmp; #再把刚才赋给临时变量的N序列的数赋给第N-1列,实现了序列交换
				echo $arr[$j]."冒出提到第".($j+1)."位<br>";
				print_r($arr);
			}
		}
	}
}
 
?>
 
  <form action="" method="post">
  <lable>生成随机数</label>
  <input type="text" name="number" size="1" maxlength="1"/><label>个</label>
  <input type="submit" name="submit" value="submit"/>
  </form>

8个评论

  1. Dagai
    2011/10/24 11:03:37

    哈哈,我也不会写,学学吧,听说lamp兄弟连的教程不错,php100的也很好

  2. 鸡蛋
    2011/10/24 09:36:53

    想学PHP了,虽然做了个网站,一直是改改模板,写程序还是白痴,不知道能不能坚持!

  3. 排骨佬
    2010/12/30 13:16:15

    PHP,Perl,shell感觉语法相似!!!

  4. ryback
    2010/03/23 08:02:43

    哈哈,我数学也不是一般的烂,只是现在有那么一点喜欢折腾。
    你在我这里评论的时候出现404没?我测倒是没出现

  5. 秦大少
    2010/03/23 00:25:34

    为什么写程序都搞的跟做数学题一样呢?也许是我数学太烂了……
    你这404的问题解决了吗?
    我那基本肯定是Akismet的问题了,现在禁用了,挺好的。

  6. ryback
    2010/03/19 11:01:43

    奇怪,我测试没有出现404呢

  7. ryback
    2010/03/19 09:56:05

    估计遇到了跟秦大少一样的问题了,改天向他请教一下

  8. luheou
    2010/03/19 09:24:24

    排序的常用方法,记得以前在学校参加ACM大赛的时候常用到,可是现在几乎不记得了

    ——提交评论出现404页面?奇怪了?

发表评论

您的昵称 *

您的邮箱 *

您的网站