国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Bubble Sort,bubblesort
冒泡排序c
首頁 php教程 php手冊(cè) Bubble Sort,bubblesort

Bubble Sort,bubblesort

Jun 13, 2016 am 09:21 AM
冒泡排序

Bubble Sort,bubblesort

8 numbers. Sort as ascend.

?

1st loop, compare 7 times (for 8 numbers), and found the largest 8.

2nd loop, compare 6 times (for 7 numbers), and found the largest 7.

. . .

?

1, 7, 8

2, 6, 7

3, 5, 6

4, 4, 5

5, 3, 4

6, 2, 3

7, 1, 2

?

In conclusion:?For sorting 8 numbers, we need an outer loop of 7 times, each time for finding a largest number; and an inner loop from comparing 7 times to comparing 1 time (as in the center column).

?

Implementation in PHP:?

<span> 1</span> <?<span>php
</span><span> 2</span> <span>/*</span><span> bubble sort: 
</span><span> 3</span> <span>    1. operate directly on the input array (&), not on a copy
</span><span> 4</span> <span>    2. sort as ascend
</span><span> 5</span> 
<span> 6</span> <span>    a is array
</span><span> 7</span> <span>    m is length of a
</span><span> 8</span> <span>    n is times of outer loop, n-i is times of comparing for each outer loop
</span><span> 9</span> <span>    i/j is for-loop counter
</span><span>10</span> <span>    w is for value swap
</span><span>11</span> <span>*/</span>
<span>12</span> <span>function</span> sortBubble(&<span>$a</span><span>){
</span><span>13</span>     <span>$m</span> = <span>count</span>(<span>$a</span><span>);
</span><span>14</span>     <span>$n</span> = <span>$m</span> - 1<span>;
</span><span>15</span>     <span>for</span>(<span>$i</span>=0; <span>$i</span><<span>$n</span>; <span>$i</span>++<span>){
</span><span>16</span>         <span>for</span>(<span>$j</span>=0; <span>$j</span><<span>$n</span>-<span>$i</span>; <span>$j</span>++<span>){
</span><span>17</span>             <span>if</span>(<span>$a</span>[<span>$j</span>] > <span>$a</span>[<span>$j</span>+1<span>]){
</span><span>18</span>                 <span>$w</span> = <span>$a</span>[<span>$j</span><span>];
</span><span>19</span>                 <span>$a</span>[<span>$j</span>] = <span>$a</span>[<span>$j</span>+1<span>];
</span><span>20</span>                 <span>$a</span>[<span>$j</span>+1] = <span>$w</span><span>;
</span><span>21</span> <span>            }
</span><span>22</span>             <span>else</span><span>{
</span><span>23</span>                 <span>//</span><span> do nothing</span>
<span>24</span> <span>            }
</span><span>25</span> <span>        }
</span><span>26</span>         <span>//</span><span> see the results after each outer loop
</span><span>27</span> <span>        // echo implode(', ', $a).'<br />';</span>
<span>28</span> <span>    }
</span><span>29</span> <span>}
</span><span>30</span> 
<span>31</span> <span>$arr</span> = <span>array</span>(9, 5, 2, 7, 3<span>);
</span><span>32</span> sortBubble(<span>$arr</span><span>);
</span><span>33</span> <span>echo</span> <span>implode</span>(', ', <span>$arr</span><span>);
</span><span>34</span> 
<span>35</span> <span>//</span><span> 2, 3, 5, 7, 9</span>
<span>37</span> ?>

?

冒泡排序c

冒泡排序詳細(xì)注釋:
/* 用冒泡排序法對(duì)一維整型數(shù)組中的十個(gè)數(shù)升序排序 */
#include
#include

int main()
{
int i,j,t,a[10];
printf("Please input 10 integers:\n");
for(i=0;iscanf("%d",&a[i]);
for(i=0;ifor(j=0;jif(a[j]>a[j+1])
{t=a[j];/* 交換a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
}
printf("The sequence after sort is:\n");
for(i=0;iprintf("%-5d",a[i]);
printf("\n");
system("pause");
return 0;
}
其中i=0時(shí):
j從0開始a[0],a[1]比較大小,把其中的較大者給a[1],然后j++,a[1]和a[2]再比較,再把兩者中的
較大者給a[2],這樣a[0],a[1],a[2]中的最大者已經(jīng)交換到a[2]中,這個(gè)過程繼續(xù),直到j(luò)=10-i-1=9這樣
a[9]中的為10個(gè)數(shù)中的最大數(shù)。
然后i=1時(shí):
由于最大數(shù)已找到并放到a[9]中,所以這一次循環(huán)j最大只需到10-i-1=8,即a[8]即可,再次從j=0開始a[j]和a[j+1]兩兩比較交換,最后次大數(shù)放到a[8]中
然后i++,繼續(xù)...
當(dāng)i=9時(shí)已經(jīng)過9次兩兩比較完成所有排序,i對(duì)于n個(gè)數(shù),只需要進(jìn)行n-1次外循環(huán)的兩兩比較就完成排序。
至于按降序排列只需將if(a[j]>a[j+1])改為if(a[j]
-------------------------------------------------------------------
/* 用改進(jìn)型冒泡排序法對(duì)一維整型數(shù)組中的十個(gè)數(shù)升序排序 */
#include
#include
int main()
{int i,j,t,a[10],flag;
printf("Please input 10 integers:\n");
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{ flag=0;
for(j=0;jif(a[j]>a[j+1])
{ t=a[j]; /* 交換a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
flag=1;
}
if(flag==0)break;
}
printf("The sequence after sort is:\n&......余下全文>>
?

冒泡排序c

冒泡排序詳細(xì)注釋:
/* 用冒泡排序法對(duì)一維整型數(shù)組中的十個(gè)數(shù)升序排序 */
#include
#include

int main()
{
int i,j,t,a[10];
printf("Please input 10 integers:\n");
for(i=0;iscanf("%d",&a[i]);
for(i=0;ifor(j=0;jif(a[j]>a[j+1])
{t=a[j];/* 交換a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
}
printf("The sequence after sort is:\n");
for(i=0;iprintf("%-5d",a[i]);
printf("\n");
system("pause");
return 0;
}
其中i=0時(shí):
j從0開始a[0],a[1]比較大小,把其中的較大者給a[1],然后j++,a[1]和a[2]再比較,再把兩者中的
較大者給a[2],這樣a[0],a[1],a[2]中的最大者已經(jīng)交換到a[2]中,這個(gè)過程繼續(xù),直到j(luò)=10-i-1=9這樣
a[9]中的為10個(gè)數(shù)中的最大數(shù)。
然后i=1時(shí):
由于最大數(shù)已找到并放到a[9]中,所以這一次循環(huán)j最大只需到10-i-1=8,即a[8]即可,再次從j=0開始a[j]和a[j+1]兩兩比較交換,最后次大數(shù)放到a[8]中
然后i++,繼續(xù)...
當(dāng)i=9時(shí)已經(jīng)過9次兩兩比較完成所有排序,i對(duì)于n個(gè)數(shù),只需要進(jìn)行n-1次外循環(huán)的兩兩比較就完成排序。
至于按降序排列只需將if(a[j]>a[j+1])改為if(a[j]
-------------------------------------------------------------------
/* 用改進(jìn)型冒泡排序法對(duì)一維整型數(shù)組中的十個(gè)數(shù)升序排序 */
#include
#include
int main()
{int i,j,t,a[10],flag;
printf("Please input 10 integers:\n");
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{ flag=0;
for(j=0;jif(a[j]>a[j+1])
{ t=a[j]; /* 交換a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;
flag=1;
}
if(flag==0)break;
}
printf("The sequence after sort is:\n&......余下全文>>
?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

Java資料結(jié)構(gòu)與演算法:深入詳解 Java資料結(jié)構(gòu)與演算法:深入詳解 May 08, 2024 pm 10:12 PM

資料結(jié)構(gòu)與演算法是Java開發(fā)的基礎(chǔ),本文深入探討Java中的關(guān)鍵資料結(jié)構(gòu)(如陣列、鍊錶、樹等)和演算法(如排序、搜尋、圖演算法等)。這些結(jié)構(gòu)透過實(shí)戰(zhàn)案例進(jìn)行說明,包括使用陣列儲(chǔ)存分?jǐn)?shù)、使用鍊錶管理購物清單、使用堆疊實(shí)現(xiàn)遞歸、使用佇列同步執(zhí)行緒以及使用樹和雜湊表進(jìn)行快速搜尋和身份驗(yàn)證等。理解這些概念可以編寫高效且可維護(hù)的Java程式碼。

用 C++ 函數(shù)指標(biāo)改造程式碼:提升效率和可重複使用性 用 C++ 函數(shù)指標(biāo)改造程式碼:提升效率和可重複使用性 Apr 29, 2024 pm 06:45 PM

函數(shù)指標(biāo)技術(shù)可提升程式碼效率和可重複使用性,具體表現(xiàn)為:提升效率:使用函數(shù)指標(biāo)可減少重複程式碼,優(yōu)化呼叫過程。提高可重複使用性:函數(shù)指標(biāo)允許使用通用函數(shù)處理不同數(shù)據(jù),提高程式的可重複使用性。

分析 Go 語言中的時(shí)間複雜度與空間複雜度 分析 Go 語言中的時(shí)間複雜度與空間複雜度 Mar 27, 2024 am 09:24 AM

Go語言是一種越來越流行的程式語言,它被設(shè)計(jì)成易於編寫、易於閱讀和易於維護(hù)的語言,同時(shí)也支援高階程式設(shè)計(jì)概念。時(shí)間複雜度和空間複雜度是演算法和資料結(jié)構(gòu)分析中重要的概念,它們衡量一個(gè)程式的執(zhí)行效率和占用記憶體大小。在本文中,我們將重點(diǎn)分析Go語言中的時(shí)間複雜度和空間複雜度。時(shí)間複雜度時(shí)間複雜度是指演算法執(zhí)行時(shí)間與問題規(guī)模之間的關(guān)係。通常用大O表示法來表示時(shí)間

如何實(shí)作C#中的冒泡排序演算法 如何實(shí)作C#中的冒泡排序演算法 Sep 19, 2023 am 11:10 AM

如何實(shí)作C#中的冒泡排序演算法冒泡排序是一種簡(jiǎn)單但有效的排序演算法,它透過多次比較相鄰的元素並交換位置來排列一個(gè)陣列。在本文中,我們將介紹如何使用C#語言實(shí)作冒泡排序演算法,並提供具體的程式碼範(fàn)例。首先,讓我們來了解冒泡排序的基本原理。演算法從數(shù)組的第一個(gè)元素開始,與下一個(gè)元素進(jìn)行比較。如果當(dāng)前元素比下一個(gè)元素大,則交換它們的位置;如果當(dāng)前元素比下一個(gè)元素小,則保持

CS-第 3 週 CS-第 3 週 Apr 04, 2025 am 06:06 AM

算法是解決問題的指令集,其執(zhí)行速度和內(nèi)存佔(zhàn)用各不相同。編程中,許多算法都基於數(shù)據(jù)搜索和排序。本文將介紹幾種數(shù)據(jù)檢索和排序算法。線性搜索假設(shè)有一個(gè)數(shù)組[20,500,10,5,100,1,50],需要查找數(shù)字50。線性搜索算法會(huì)逐個(gè)檢查數(shù)組中的每個(gè)元素,直到找到目標(biāo)值或遍歷完整個(gè)數(shù)組。算法流程圖如下:線性搜索的偽代碼如下:檢查每個(gè)元素:如果找到目標(biāo)值:返回true返回falseC語言實(shí)現(xiàn):#include#includeintmain(void){i

PHP 數(shù)組自訂排序演算法的編寫指南 PHP 數(shù)組自訂排序演算法的編寫指南 Apr 27, 2024 pm 06:12 PM

如何寫自訂PHP數(shù)組排序演算法?冒泡排序:透過比較和交換相鄰元素來排序數(shù)組。選擇排序:每次選擇最小或最大元素並與目前位置交換。插入排序:逐一插入元素到有序部分。

各種 PHP 數(shù)組排序演算法的複雜度分析 各種 PHP 數(shù)組排序演算法的複雜度分析 Apr 27, 2024 am 09:03 AM

PHP陣列排序演算法複雜度:冒泡排序:O(n^2)快速排序:O(nlogn)(平均)歸併排序:O(nlogn)

Java資料結(jié)構(gòu)與演算法:雲(yún)端運(yùn)算實(shí)戰(zhàn)指南 Java資料結(jié)構(gòu)與演算法:雲(yún)端運(yùn)算實(shí)戰(zhàn)指南 May 09, 2024 am 08:12 AM

雲(yún)端運(yùn)算中資料結(jié)構(gòu)和演算法的使用至關(guān)重要,用於管理和處理大量資料。常見的資料結(jié)構(gòu)包括數(shù)組、列表、哈希表、樹和圖。常用的演算法有排序演算法、搜尋演算法和圖演算法。利用Java的強(qiáng)大功能,開發(fā)者可以使用Java集合、執(zhí)行緒安全資料結(jié)構(gòu)和ApacheCommonsCollections來實(shí)作這些資料結(jié)構(gòu)和演算法。

See all articles