Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

这里介绍一些简单的算法,包括:冒泡排序、快速排序、二分查找、二叉树的遍历、二叉树的层次遍历、二叉树的前序、中序、后序遍历,一些简单的实现。

冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
function bubble_sort($arr)
{
$n = count($arr);
for ($i = 0; $i < $n; $i++) {
for ($j = 0; $j < $n - $i - 1; $j++) {
if ($arr[$j] < $arr[$j + 1]) {
[$arr[$j], $arr[$j + 1]] = [$arr[$j + 1], $arr[$j]];
}
}
}
return $arr;
}

冒泡排序过程的详细步骤,假设我们有一个数组 [64, 34, 25, 12, 22, 11, 90] 需要进行升序排序:

  1. 第一轮冒泡:

    • 比较 64 和 34,64 > 34,交换它们的位置,数组变为 [34, 64, 25, 12, 22, 11, 90]
    • 比较 64 和 25,64 > 25,交换它们的位置,数组变为 [34, 25, 64, 12, 22, 11, 90]
    • 比较 64 和 12,64 > 12,交换它们的位置,数组变为 [34, 25, 12, 64, 22, 11, 90]
    • 比较 64 和 22,64 > 22,交换它们的位置,数组变为 [34, 25, 12, 22, 64, 11, 90]
    • 比较 64 和 11,64 > 11,交换它们的位置,数组变为 [34, 25, 12, 22, 11, 64, 90]
    • 比较 64 和 90,64 < 90,不需要交换,这一轮结束

    第一轮冒泡后,最大的数 90 被“冒泡”到了数组的最后一位。

阅读全文 »

英文中一年十二个月份的全称及其缩写形式:

  1. January - Jan.
  2. February - Feb.
  3. March - Mar.
  4. April - Apr.
  5. May - May (May没有缩写)
  6. June - Jun.
  7. July - Jul.
  8. August - Aug.
  9. September - Sep. 或 Sept.
  10. October - Oct.
  11. November - Nov.
  12. December - Dec.