php实现排序算法(一) 冒泡排序 快速排序
好久没有来练习的自己的算法技能了以至于很多基本的算法都快忘记了。
以前用c写的算法也不多。那么今天开始吧!以后坚持每天晚上编写一些简单的算法,坚持练习!
第一篇 冒泡排序
<code>冒泡排序是最简单基础的排序,但是由于好久没写代码了,一开始写下去还是不流畅。。。罪过罪过 冒泡排序原理,每次从待排序的序列里面选出一个最大或者最小的元素放到已经排好序的序列后面。知道最后待排序的序列为无; 以下是用php实现的冒泡排序, 注意以下几点: 1)当带排序的数组为无的时候直接退出,避免出错。 2) 尼玛数组都忘记怎么写了,我真是该死。 </code>
<code><span><?php </span><span><span>function</span><span>bubblesort</span><span>(<span>$array</span>)</span>{</span><span>$count</span> = count(<span>$array</span>); <span>if</span>(<span>$count</span> == <span>0</span>){ <span>return</span><span>$array</span>; } <span>echo</span><span>$count</span>; <span>for</span>(<span>$i</span> = <span>0</span>; <span>$i</span> $count</span>; <span>$i</span>++){ <span>for</span>(<span>$j</span> = <span>$count</span> - <span>1</span>; <span>$j</span> > <span>$i</span>; <span>$j</span>--){ <span>if</span>(<span>$array</span>[<span>$j</span>] $array[<span>$j</span> - <span>1</span>]){ <span>$temp</span> = <span>$array</span>[<span>$j</span>]; <span>$array</span>[<span>$j</span>] = <span>$array</span>[<span>$j</span>-<span>1</span>]; <span>$array</span>[<span>$j</span>-<span>1</span>] = <span>$temp</span>; } } } <span>return</span><span>$array</span>; } <span>$array</span> = <span>array</span>(<span>1</span>,<span>45</span>,<span>2</span>,<span>4</span>,<span>54</span>,<span>2</span>,<span>45</span>,<span>6</span>); print_r(bubblesort(<span>$array</span>)); <span>?></span></code>
第二篇 快速排序(quicksort)
<code> 原理: 快速排序是对冒泡排序的一种改进,基本思想是通过一趟排序将要排序的数据分成两部分,其中的一部 </code>
分比另一部分所有数据都小,然后按此方法对着两部分的数据分别进行快速排序,整个排序过程可以递归进行,以此
达到数据变成有序序列。
<code><span><span><span><?php function quickSort<span>(<span>$arr</span>)</span>{ <span>$count</span> = count<span>(<span>$arr</span>)</span>; if<span>(<span>$count</span> 1</span>)</span>{ return <span>$arr</span>; } <span>$key</span> = <span>$arr</span>[<span>0</span>]; <span>$left_arr</span> = array<span>()</span>; <span>$right_arr</span> = array<span>()</span>; for<span>(<span>$i</span> = <span>1</span>; <span>$i</span> $count</span>; <span>$i</span>++)</span>{ if<span>(<span>$arr</span>[<span>$i</span>] $key</span>){ <span>$left_arr</span>[] = <span>$arr</span>[<span>$i</span>]; }else{ <span>$right_arr</span>[] = <span>$arr</span>[<span>$i</span>]; } } <span>$left_arr</span> = quickSort<span>(<span>$left_arr</span>)</span>; <span>$right_arr</span> = quickSort<span>(<span>$right_arr</span>)</span>; return array_merge<span>(<span>$left_arr</span>,array<span>(<span>$key</span>)</span>,<span>$right_arr</span>)</span>; } <span>$arr</span> = array<span>(<span>23</span>,<span>4</span>,<span>6</span>,<span>46</span>,<span>34</span>,<span>23</span>,<span>6234</span>,<span>34</span>,<span>12</span>,<span>34</span>)</span>; print_r<span>(quickSort<span>(<span>$arr</span>)</span>)</span>;</code>
?>
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php实现排序算法(一) 冒泡排序 快速排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Fungsi Count digunakan untuk mengira bilangan nombor dalam julat yang ditentukan. Ia mengabaikan teks, nilai logik dan nilai nol, tetapi mengira sel kosong Fungsi Count hanya mengira bilangan sel yang mengandungi nombor sebenar. Fungsi CountA digunakan untuk mengira bilangan sel yang tidak kosong dalam julat tertentu. Ia bukan sahaja mengira sel yang mengandungi nombor sebenar, tetapi juga mengira bilangan sel bukan kosong yang mengandungi teks, nilai logik dan formula.

Tajuk: Contoh menggunakan fungsi Array.Sort untuk mengisih tatasusunan dalam Teks C#: Dalam C#, tatasusunan ialah struktur data yang biasa digunakan dan operasi pengisihan tatasusunan selalunya diperlukan. C# menyediakan kelas Array, yang mempunyai kaedah Isih untuk menyusun tatasusunan dengan mudah. Artikel ini akan menunjukkan cara menggunakan fungsi Array.Sort dalam C# untuk mengisih tatasusunan dan memberikan contoh kod khusus. Pertama, kita perlu memahami penggunaan asas fungsi Array.Sort. Susunan.Jadi

Dalam PHP, terdapat banyak fungsi tatasusunan berkuasa yang boleh menjadikan operasi tatasusunan lebih mudah dan lebih pantas. Apabila kita perlu menggabungkan dua tatasusunan ke dalam tatasusunan bersekutu, kita boleh menggunakan fungsi array_combine PHP untuk mencapai operasi ini. Fungsi ini sebenarnya digunakan untuk menggabungkan kekunci satu tatasusunan sebagai nilai tatasusunan lain ke dalam tatasusunan bersekutu baharu. Seterusnya, kami akan menerangkan cara menggunakan fungsi array_combine dalam PHP untuk menggabungkan dua tatasusunan menjadi tatasusunan bersekutu. Ketahui tentang array_comb

Apabila pengaturcaraan dalam PHP, kita selalunya perlu menggabungkan tatasusunan. PHP menyediakan fungsi array_merge() untuk melengkapkan penggabungan tatasusunan, tetapi apabila kunci yang sama wujud dalam tatasusunan, fungsi ini akan menimpa nilai asal. Untuk menyelesaikan masalah ini, PHP juga menyediakan fungsi array_merge_recursive() dalam bahasa, yang boleh menggabungkan tatasusunan dan mengekalkan nilai kunci yang sama, menjadikan reka bentuk program lebih fleksibel. array_merge

Dalam pengaturcaraan PHP, tatasusunan ialah struktur data yang sangat penting yang boleh mengendalikan sejumlah besar data dengan mudah. PHP menyediakan banyak fungsi berkaitan tatasusunan, array_fill() adalah salah satu daripadanya. Artikel ini akan memperkenalkan secara terperinci penggunaan fungsi array_fill(), serta beberapa petua dalam aplikasi praktikal. 1. Gambaran keseluruhan fungsi array_fill() Fungsi array_fill() adalah untuk mencipta tatasusunan nilai yang sama dengan panjang yang ditentukan. Secara khusus, sintaks fungsi ini ialah

Tafsiran sifat kedudukan CSS: kedudukan dan atas/kiri/kanan/bawah Dalam pembangunan bahagian hadapan, sifat kedudukan CSS adalah sangat penting. Dengan atribut kedudukan, kita boleh mengawal kedudukan elemen pada halaman. Atribut penentududukan yang paling biasa digunakan ialah kedudukan, yang nilainya boleh statik, relatif, mutlak dan tetap. Sebagai tambahan kepada atribut kedudukan asas ini, kita juga boleh menggunakan atas, kiri, r

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang kerap digunakan. Terdapat juga beberapa fungsi operasi tatasusunan, termasuk fungsi array_change_key_case(). Fungsi ini boleh menukar kes nama kunci dalam tatasusunan untuk memudahkan pemprosesan data kami. Artikel ini akan memperkenalkan cara menggunakan fungsi array_change_key_case() dalam PHP. 1. Sintaks fungsi dan tatasusunan_ubah_ke parameter

Modul tatasusunan dalam Python ialah tatasusunan yang dipratentukan, jadi ia mengambil lebih sedikit ruang dalam ingatan daripada senarai standard, dan juga boleh melaksanakan operasi peringkat elemen pantas seperti menambah, memadam, mengindeks dan menghiris. Selain itu, semua elemen dalam tatasusunan adalah daripada jenis yang sama, jadi anda boleh menggunakan fungsi operasi berangka yang cekap yang disediakan oleh tatasusunan, seperti mengira nilai purata, maksimum dan minimum. Selain itu, modul tatasusunan juga menyokong menulis dan membaca objek tatasusunan terus ke dalam fail binari, yang menjadikannya lebih cekap apabila memproses sejumlah besar data berangka. Oleh itu, jika anda perlu memproses sejumlah besar data homogen, anda boleh mempertimbangkan untuk menggunakan modul tatasusunan Python untuk mengoptimumkan kecekapan pelaksanaan kod anda. Untuk menggunakan modul tatasusunan, anda perlu terlebih dahulu
