最近做了乙個專案,其中有這樣乙個需求要實現,原有帖子列表a,現在需要在a中推廣新業務b,那麼需要在a列表中zlmnt1:1混合b中的資料,隨機混合,但是需要保持a和b兩列原來的資料排序,具體詳情請看下文。
原理獲知總共元素數量n;
for迴圈n次,取隨機數;
根據隨機數依次從頭獲取a或b的值,推入新陣列中;
**://隨機合併兩個陣列元素,保持原有資料的排序不變(即各個陣列的元素在合併後的陣列中排序與自身原來一致)
function shufflemergearray() else
} return $mergearray;
}示例:合併前的陣列:
$arrawww.cppcns.comy1 = array(1, 2, 3, 4);
$array2 = array('a', 'b', 'c', 'd', 'e');
合併後的資料:
$mergearray = array (
0 => 'a',
1 => 1,
2 => 'b',
3 => 2,
4 => 'c',
5 => 'd',
6 => 3,
7 => 4,
8 => 'e',
)php陣列隨機排序
<?php $array = array('a','2','3','4','5','6',程式設計客棧'7','8'程式設計客棧,'9','10','j','q','k');
shuffle($array); //隨機排序陣列
print_r($array); //輸出陣列
?>
本文標題: 基於php實現隨機合併陣列並排序(原排序)
本文位址:
php實現陣列的合併
最近做乙個報表,要求若某幾項相同就合併這幾行,並將數字項相加顯示。首先考慮遍歷陣列,拿出陣列的最後一項跟其它項比較,若符合條件則做合併操作並刪除該項。但是實際執行,發現執行3次後就不執行了,而這時的陣列長度是6.一直沒搞懂為什麼不繼續執行了。陣列是採用 引用刪除的,刪除項確影響到了原陣列的。後來想到...
合併排序實現
code include using namespace std 合併兩個有序的子陣列 輸入 整數陣列a,下標p,q,r,元素個數m 其中a p a q 和a q 1 a r 已按遞增順序排序 輸出 按遞增順序排序的子陣列a p a r void merge int a,int p,int q,in...
合併排序陣列
合併兩個排序的整數陣列a和b變成乙個新的陣列。樣例給出a 1,2,3,4 b 2,4,5,6 返回 1,2,2,3,4,4,5,6 挑戰 你能否優化你的演算法,如果其中乙個陣列很大而另乙個陣列很小?class solution param a and b sorted integer array a...