竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

C++結合Scratch學習排序之冒泡排序

極客小將2021-02-04-
冒泡排序 冒泡排序是一個比較經典和簡單的排序算法,利用Scratch編程,我們可以比較清楚的、直觀的觀看排序的過程,同時也便于理解算法本身。 ??? 什么是冒泡排序呢?把第一個元素與第二個元素比較,如果第一

冒泡排序

冒泡排序是一個比較經典和簡單的排序算法,利用Scratch編程,我們可以比較清楚的、直觀的觀看排序的過程,同時也便于理解算法本身。

??? 什么是冒泡排序呢?把第一個元素與第二個元素比較,如果第一個比第二個大,則交換他們的位置。接著繼續比較第二個與第三個元素,如果第二個比第三個大,則交換他們的位置……(你看那水中的魚,他們時不時地吐出泡泡,那泡泡越往上走就會越大)。我們對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對,這樣一趟比較交換下來之后,排在最右的元素就會是最大的數。除去最右的元素,我們對剩余的元素做同樣的工作,如此重復下去,直到排序完成。

upload/article/images/2021-02-04/630ac62943e1f2d42c706886aff8f070.jpg

比如9,5,6,8,2,7,3,4,1這組數據,要將它按照從小到大的順序排列起來。首先想到將第一個數A與后面的數比較如果后面的數比較大,那么這兩個數的順序是正確的。將當前A更新成后面較大的數,然后再與后面的比較。遇到比自己小的進行交換,但是不更新A。

如例:

1.第一次比較,9是最大的,執行后9,5,6,8,2,7,3,4,1

2.第二次比較,5比9小,執行后5,9,6,8,2,7,3,4,1

3.第三次比較,6比9小,比5大,執行后5,6,9,8,2,7,3,4,1

4.第四次比較,8比9小,比6大,執行后5,6,8,9,2,7,3,4,1

5.第五次比較,2比9小,比568都小,執行后2,5,6,8,9,7,3,4,1

6.第六次比較,7比89小,比6大,執行后2,5,6,7,8,9,3,4,1

7.第七次比較,3比56789小,比2大,執行后2,3,5,6,7,8,9,4,1

8.第八次比較,4比56789小,比3大,執行后2,3,4,5,6,7,8,9,1

9.第九次比較,1最小,執行后1,2,3,4,5,6,7,8,9

C++代碼如下:

#include

using namespace std;

void bubbleSort(int* pData,int length)

{

??? int temp;

??? for(int i =0; i != length; ++i)

??? {

??????? for (intj = 0; j != length; ++j)

??????? {

??????????? if(pData[i] < pData[j])

??????????? {

???????????????temp = pData[i];

???????????????pData[i] = pData[j];

???????????????pData[j] = temp;

??????????? }

??????? }

??? }

}

void print(int* pData,int length)

{

??? for (int i =0; i != length; ++i)

??? {

??????? cout<< pData[i] << " ";

??? }

??? cout <<endl;< p="">

}

int main(){

int pData[] = {9,5,6,8,2,7,3,4,1};

??? ?? bubbleSort(pData,9);

??? ?? cout << "the result is:";

??? ?? print(pData,9);

??? ?? return 0;

}

下面介紹一下用Scratch完成冒泡排序

用Scratch寫這個程序可以用編程的方式把冒泡算法完美的演示一遍。你可以看到每一步程序的執行。排序先從最下面開始,一步一步進行交替比較,發現下面的數字比上面大,就通過臨時變量來進行數據隊列里面的交換。(隊列里面的數據交換位置需要有臨時變量來做數據交換時的臨時存放)。

通過這個程序,小朋友就可以很容易和直觀的理解冒泡算法。

學編程,算法是很重要的一部分,也是真正鍛煉思維的部分,所以NOIP的比賽就是考算法,雖然建議算法可以等到上初中再去學,小學玩玩就好,但是還是可以通過Scratch接觸一些算法的概念會比較好。否則上初中開始直接用C++做算法會很吃力的。

今天我們會介紹兩種scratch實現的方式:

第一種:

upload/article/images/2021-02-04/4bc1157441326acbd9f15dc482582d57.jpg

upload/article/images/2021-02-04/0c2d78537d6b9b81f4213fb38236f329.jpg

第二種:

upload/article/images/2021-02-04/70829840af697e4cc5528a1448ce3a49.jpg

upload/article/images/2021-02-04/a2d77162f0b516a655c670acbee01e0a.jpg

大家自己去欣賞程序和代碼吧,畢竟讀懂程序也是編程的一個基本技能,最好還要動手實踐一下!

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 成人精品高清 | 精品久久久久久久久久中文字幕 | 夜夜骑夜夜骑 | 国产一区高清 | 3344成人免费高清免费视频 | 99免费在线视频 | 久久黄色一级电影 | 黄色免费视频在线观看 | 国内毛片毛片 | 黄色三级在线观看 | av影视网| 在线免费观看黄色av | 18久久| 国产免费一区二区 | 国产一二区在线 | 日日夜夜亚洲 | 精品国产乱码久久久久久蜜柚 | 黄色二区 | 久久久久久国产精品免费免费狐狸 | 99精品国产高清一区二区麻豆 | 日本欧美视频 | 综合网av| 午夜免费 | 日韩欧美大片 | 欧美高清v | 最近中文字幕在线观看视频 | 91玖玖 | 成人区精品一区二区 | 日韩av黄色 | 性猛交xxxx乱大交孕妇2十 | 国产精品区二区三区日本 | 欧美二区乱c黑人 | 天堂av免费观看 | 亚洲视频三区 | 又爽又大又黄a级毛片在线视频 | 欧美一区二区三区在线看 | v天堂 | 欧美一区二区三区在线播放 | 欧美成人一区二区三区 | 51ⅴ精品国产91久久久久久 | 久久福利|