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

極客小將

您現(xiàn)在的位置是:首頁 » scratch編程資訊

資訊內(nèi)容

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

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

冒泡排序

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

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

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

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

如例:

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

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

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

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

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

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

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

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

9.第九次比較,1最小,執(zhí)行后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寫這個程序可以用編程的方式把冒泡算法完美的演示一遍。你可以看到每一步程序的執(zhí)行。排序先從最下面開始,一步一步進行交替比較,發(fā)現(xiàn)下面的數(shù)字比上面大,就通過臨時變量來進行數(shù)據(jù)隊列里面的交換。(隊列里面的數(shù)據(jù)交換位置需要有臨時變量來做數(shù)據(jù)交換時的臨時存放)。

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

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

今天我們會介紹兩種scratch實現(xiàn)的方式:

第一種:

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

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

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

預約試聽課

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

主站蜘蛛池模板: 色九九 | 免费在线观看污视频 | 国产精品视频久久久 | 色婷婷免费观看 | 久久九九国产精品 | 激情久久久久 | 国产精品网站在线观看 | 欧美精品一区二区三区四区五区 | 午夜视频一区二区 | 性视频在线播放 | 国产高清精品一区二区三区 | 国产精品一区二区三区四区五区 | 日本精品国产 | 久久久www成人免费精品 | 亚洲综合色一区 | 久久精品国产一区二区 | 天堂аⅴ在线最新版在线 | 亚洲国产精品久久 | 久久久国产精品入口麻豆 | 在线一区 | 欧美午夜精品 | 日本公妇乱淫免费视频一区三区 | 黄色一级毛片免费看 | 中国一级片免费看 | 成人亚洲网站 | 成人久久网| 成人国产综合 | 欧美日韩视频一区二区三区 | 国产精品国产三级国产a | 日本一本色道免费视频 | 日韩国产在线观看 | 亚洲国产综合在线 | 久久国产精品免费视频 | 精品亚洲一区二区 | 国产精品成人一区二区 | 91免费国产在线 | 国产精品综合网 | 天天草视频| 简单av网 | 老女人一级片 | 不卡影视 |