資料結構(8) 歸併排序
<?php //归并排序 function all_array_merge($arrA,$arrB){ $arrC=array(); $i=$j=$k=0; $arrA_length=count($arrA); $arrB_length=count($arrB); while($i<$arrA_length && $j<$arrB_length){ if($arrA[$i]<$arrB[$j]){ $arrC[]=$arrA[$i++]; }else{ $arrC[]=$arrB[$j++]; } } while($i<$arrA_length){ $arrC[]=$arrA[$i++]; } while($j<$arrB_length){ $arrC[]=$arrB[$j++]; } return $arrC; } function array_merge_sort($array){ $length=count($array); if($length<=1){ return $array; } $mid=intval($length/2);//取数组中间元素的坐标 $array_left=array_slice($array,0,$mid);//拆分元素0-mid折部分给左边$array_left $array_right=array_slice($array,$mid);//拆分数组mid-$length-1这部分给右边$array_right $array_left=array_merge_sort($array_left);//左边拆分完后开始递归合并 $array_right=array_merge_sort($array_right);//右边拆分完后开始递归 $result=all_array_merge($array_left,$array_right);//合并两个数组,递归合并) return $result; } $arr=array(456,35,77,356,33,98,11,44,82); $res=array_merge_sort($arr); foreach($res as $key => $value){ echo "key: ".$key." value: ".$value."<br/>"; } ?>
以上就介紹了資料結構(8) 歸併排序,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用Java的String.length()函數取得字串的長度在Java程式設計中,字串是一種非常常見的資料類型,我們經常需要取得字串的長度,即字串中字元的個數。在Java中,我們可以使用String類別的length()函數來取得字串的長度。下面是一個簡單的範例程式碼:publicclassStringLengthExample{publ

標題:C#中使用Array.Sort函數對陣列進行排序的範例正文:在C#中,陣列是一種常用的資料結構,經常需要對陣列進行排序運算。 C#提供了Array類,其中有Sort方法可以方便地對陣列進行排序。本文將示範如何使用C#中的Array.Sort函數對陣列進行排序,並提供具體的程式碼範例。首先,我們要先了解Array.Sort函數的基本用法。 Array.So

在PHP中,有許多強大的陣列函數可以讓陣列的操作更加方便和快速。當我們需要將兩個陣列拼成一個關聯數組時,可以使用PHP的array_combine函數來實現這一操作。這個函數其實是用來將一個陣列的鍵當作另一個陣列的值,合併成一個新的關聯數組。接下來,我們將會講解如何使用PHP中的array_combine函數將兩個陣列拼成關聯數組。了解array_comb

在進行PHP編程時,我們常常需要將數組合併。 PHP提供了array_merge()函數來完成數組合併的工作,但是當數組中存在相同的鍵時,函數會覆寫原來的值。為了解決這個問題,PHP在語言中還提供了一個array_merge_recursive()函數,該函數可以合併數組並保留相同鍵的值,使得程式的設計變得更加靈活。 array_merge

在PHP程式設計中,陣列是一種非常重要的資料結構,能夠輕鬆處理大量資料。 PHP中提供了許多陣列相關的函數,array_fill()就是其中之一。本篇文章將詳細介紹array_fill()函數的用法,以及在實際應用上的一些技巧。一、array_fill()函數概述array_fill()函數的作用是建立一個指定長度的、由相同的值組成的陣列。具體來說,該函數的語法

length函數用於傳回指定字串的字元數或位元組數。可以用於計算字串的長度,以便在查詢和處理字串資料時進行操作和判斷。要注意的是length函數計算的是字串的字元數,而不是位元組數。對於多位元組字元集,一個字元可能由多個位元組組成。因此,length函數在計算字串長度時會將多位元組字元作為一個字元來計算。

Java是一種非常強大的程式語言,廣泛應用於各種開發領域。但是,在Java程式設計過程中,開發人員常會遇到ArrayIndexOutOfBoundsException異常。那麼,這個異常的常見原因是什麼呢? ArrayIndexOutOfBoundsException是Java中常見的一個執行時期例外。它表示在存取資料時,數組下標超出了數組的範圍。常見的原因包括以

在PHP程式設計中,陣列是一個常用到的資料型別。而關於陣列的運算子也是相當多的,其中包含了array_change_key_case()函數。這個函數可以將數組中鍵名的大小寫轉換,從而方便我們進行資料的處理。本文就來介紹PHP中array_change_key_case()函數的使用方法。一、函數語法及參數array_change_ke
