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

目錄
Bubble Sort,bubblesort
冒泡排序c
首頁 php教程 php手冊 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

冒泡排序詳細注釋:
/* 用冒泡排序法對一維整型數(shù)組中的十個數(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時:
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]中,這個過程繼續(xù),直到j(luò)=10-i-1=9這樣
a[9]中的為10個數(shù)中的最大數(shù)。
然后i=1時:
由于最大數(shù)已找到并放到a[9]中,所以這一次循環(huán)j最大只需到10-i-1=8,即a[8]即可,再次從j=0開始a[j]和a[j+1]兩兩比較交換,最后次大數(shù)放到a[8]中
然后i++,繼續(xù)...
當i=9時已經(jīng)過9次兩兩比較完成所有排序,i對于n個數(shù),只需要進行n-1次外循環(huán)的兩兩比較就完成排序。
至于按降序排列只需將if(a[j]>a[j+1])改為if(a[j]
-------------------------------------------------------------------
/* 用改進型冒泡排序法對一維整型數(shù)組中的十個數(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

冒泡排序詳細注釋:
/* 用冒泡排序法對一維整型數(shù)組中的十個數(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時:
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]中,這個過程繼續(xù),直到j(luò)=10-i-1=9這樣
a[9]中的為10個數(shù)中的最大數(shù)。
然后i=1時:
由于最大數(shù)已找到并放到a[9]中,所以這一次循環(huán)j最大只需到10-i-1=8,即a[8]即可,再次從j=0開始a[j]和a[j+1]兩兩比較交換,最后次大數(shù)放到a[8]中
然后i++,繼續(xù)...
當i=9時已經(jīng)過9次兩兩比較完成所有排序,i對于n個數(shù),只需要進行n-1次外循環(huán)的兩兩比較就完成排序。
至于按降序排列只需將if(a[j]>a[j+1])改為if(a[j]
-------------------------------------------------------------------
/* 用改進型冒泡排序法對一維整型數(shù)組中的十個數(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&......余下全文>>
?

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

Java數(shù)據(jù)結(jié)構(gòu)與算法:深入詳解 Java數(shù)據(jù)結(jié)構(gòu)與算法:深入詳解 May 08, 2024 pm 10:12 PM

數(shù)據(jù)結(jié)構(gòu)和算法是Java開發(fā)的基礎(chǔ),本文深入探討Java中的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)(如數(shù)組、鏈表、樹等)和算法(如排序、搜索、圖算法等)。這些結(jié)構(gòu)通過實戰(zhàn)案例進行說明,包括使用數(shù)組存儲分數(shù)、使用鏈表管理購物清單、使用棧實現(xiàn)遞歸、使用隊列同步線程以及使用樹和哈希表進行快速搜索和身份驗證等。理解這些概念可以編寫高效且可維護的Java代碼。

用 C++ 函數(shù)指針改造代碼:提升效率和可復(fù)用性 用 C++ 函數(shù)指針改造代碼:提升效率和可復(fù)用性 Apr 29, 2024 pm 06:45 PM

函數(shù)指針技術(shù)可提升代碼效率和可復(fù)用性,具體表現(xiàn)為:提升效率:使用函數(shù)指針可減少重復(fù)代碼,優(yōu)化調(diào)用過程。提高可復(fù)用性:函數(shù)指針允許使用通用函數(shù)處理不同數(shù)據(jù),提高程序的可復(fù)用性。

分析 Go 語言中的時間復(fù)雜度和空間復(fù)雜度 分析 Go 語言中的時間復(fù)雜度和空間復(fù)雜度 Mar 27, 2024 am 09:24 AM

Go語言是一種越來越流行的編程語言,它被設(shè)計成易于編寫、易于閱讀和易于維護的語言,同時也支持高級編程概念。時間復(fù)雜度和空間復(fù)雜度是算法和數(shù)據(jù)結(jié)構(gòu)分析中重要的概念,它們衡量著一個程序的執(zhí)行效率和占用內(nèi)存大小。在本文中,我們將重點分析Go語言中的時間復(fù)雜度和空間復(fù)雜度。時間復(fù)雜度時間復(fù)雜度是指算法執(zhí)行時間與問題規(guī)模之間的關(guān)系。通常用大O表示法來表示時間

如何實現(xiàn)C#中的冒泡排序算法 如何實現(xiàn)C#中的冒泡排序算法 Sep 19, 2023 am 11:10 AM

如何實現(xiàn)C#中的冒泡排序算法冒泡排序是一種簡單但有效的排序算法,它通過多次比較相鄰的元素并交換位置來排列一個數(shù)組。在本文中,我們將介紹如何使用C#語言實現(xiàn)冒泡排序算法,并提供具體的代碼示例。首先,讓我們了解一下冒泡排序的基本原理。算法從數(shù)組的第一個元素開始,與下一個元素進行比較。如果當前元素比下一個元素大,則交換它們的位置;如果當前元素比下一個元素小,則保持

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

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

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

如何編寫自定義PHP數(shù)組排序算法?冒泡排序:通過比較和交換相鄰元素來排序數(shù)組。選擇排序:每次選擇最小或最大元素并將其與當前位置交換。插入排序:逐個插入元素到有序部分。

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

PHP數(shù)組排序算法復(fù)雜度:冒泡排序:O(n^2)快速排序:O(nlogn)(平均)歸并排序:O(nlogn)

Java數(shù)據(jù)結(jié)構(gòu)與算法:云計算實戰(zhàn)指南 Java數(shù)據(jù)結(jié)構(gòu)與算法:云計算實戰(zhàn)指南 May 09, 2024 am 08:12 AM

云計算中數(shù)據(jù)結(jié)構(gòu)和算法的使用至關(guān)重要,用于管理和處理海量數(shù)據(jù)。常見的數(shù)據(jù)結(jié)構(gòu)包括數(shù)組、列表、哈希表、樹和圖。常用的算法有排序算法、搜索算法和圖算法。利用Java的強大功能,開發(fā)者可以使用Java集合、線程安全數(shù)據(jù)結(jié)構(gòu)和ApacheCommonsCollections來實現(xiàn)這些數(shù)據(jù)結(jié)構(gòu)和算法。

See all articles