999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

選擇排序算法教學設計

2018-09-25 09:43:10白洪濤何麗莉孫良鳳金龍海
教育教學論壇 2018年35期

白洪濤 何麗莉 孫良鳳 金龍海

摘要:針對非計算機專業學生算法學習和程序實現所面臨的困難,采用分階段、逐步遞進的思路對選擇排序方法進行了介紹,將選擇排序分解為在序列中尋找最值和元素交換兩個步驟,提供了選擇排序算法的C語言實現。

關鍵詞:選擇排序;數據結構;教學過程;C語言

中圖分類號:G642 文獻標志碼:A 文章編號:1674-9324(2018)35-0196-02

一、引言

為了更好地使初學者掌握排序算法,廣大計算機教學工作者研究了多種有效的教學手段,如:謝翠萍等結合雙向思維法,口訣教學法的教學過程設計,使學生更好得掌握冒泡排序算法,培養學生的發散思維能力[1];馬秀榮闡述了選擇法排序的過程,側重使學生理解數組的定義、數組元素的引用以及數組下標和數組元素之間一對一的關系[2]。為了算法的過程更直觀,學生更容易理解,文獻[3]借助現代多媒體技術手段設計了基于Flash和其他動畫等的排序過程和結果演示,并取得了不錯的教學效果。本文在非計算機專業《C語言程序設計基礎》課程教學過程中設計了先“打擂臺”再“排序”的遞進式選擇排序教學過程,并分析了學生典型的兩種現實錯誤。

二、選擇排序算法教學設計

1.算法思想。選擇排序是一種直觀的排序算法,它的工作原理如下(以升序為例):首先在未排序序列中找到最小元素,存放到該序列的第一個位置,即第一個位置的元素與該序列中最小元素交換,然后再從剩余未排序元素中繼續尋找最小元素,放到第二個位置(交換)。以此類推,直到所有元素均排序完畢。我們以一個6個整型數據實例進行講解:有21、25、67、89、32、19未排序序列,要求將它們使用選擇排序方法進行升序排序。

如圖1所示,用向下的箭頭指向未排序序列中的第一個數,用向上的箭頭指向該序列的最小數,這兩個數進行交換便完成了一趟排序。整個序列分成兩個部分:已排序部分(中括號外)和未排序部分(中括號內),每一趟排序使得整個序列中的一個數“就位”,這樣若序列的長度為n,則需要n-1趟交換,即可完成整個序列的排序。

2.算法實現。通過上述算法分析和實例講解,可以將選擇排序過程具體化為兩個步驟:(1)在一個特定(未排序)序列中找出最小值(最大值);(2)用該數和未排序序列中的第一個數進行交換。如此,把選擇排序轉換成在序列中找最值和元素的交換問題。其中,找最值可以使用打擂臺的算法,給出選出序列最小值及其位置的C語言程序如下:

#include

int main()

{

int i,a[6];

int min,loc;

printf("please input 6 integer numbers:\n");

for ( i=0;i<6;i++ )

scanf("%d",&a;[i]);

min = a[0];

loc = 0;

for( i=1;i<6;i++ )

if ( min > a[i] )

{

min = a[i];

loc = i;

}

printf("the min of array is %d,loc is %d\n",min,loc);

return 0;

}

在打擂臺算法的基礎上,我們再補充元素交換,即將最小值a[loc]與a[0]進行交換:

t = a[0];

a[0] = a[loc];

a[loc] = t;

如此,我們再將趟數的外層循環作用在如上程序塊上,a[0]中的0變成外層循環控制變量j,內層循環從j+1(未排序序列)開始,這樣選擇排序的整體算法便不難了(只給出關鍵程序段)。

for ( j=0;j<5;j++ ) //控制循環的趟數 n-1

{

min = a[j];

loc = j;

for ( i=j+1;i<6;i++ ) //在未排序序列中選最小a[loc]

if ( min > a[i] )

{

min = a[i];

loc = i;

}

//a[loc]與a[j]交換

t = a[j];

a[j] = a[loc];

a[loc]=t;

}

當然,求最小值時可以不用min變量存放,直接使用a[loc]即可。

參考文獻:

[1]謝翠萍,陳家益,朱兵章.C語言中冒泡排序教學設計與分析[J].福建電腦,2013,(5):50-51.

[2]馬秀榮.《C程序設計》中選擇法排序教學方法的探討[J].佳木斯教育學院學報,2010,(1):115-116.

[3]邱秀榮,趙莉蘋,蔡鑌.基于Flash的冒泡排序算法的演示實現[J].安陽工學院學報,2011,10(6):48-50.

主站蜘蛛池模板: 日韩毛片免费观看| 中文无码影院| 国产精品免费福利久久播放| 国产精品永久在线| 免费全部高H视频无码无遮掩| 996免费视频国产在线播放| 无码AV动漫| 国产精品三级专区| 欧美激情第一欧美在线| 久久网欧美| 无码高潮喷水在线观看| 亚洲国产精品日韩欧美一区| 国产99视频在线| 原味小视频在线www国产| 亚洲精品动漫在线观看| 亚洲天堂在线免费| 2020国产精品视频| 国产最新无码专区在线| 亚洲黄色网站视频| 日韩大片免费观看视频播放| 人妻丰满熟妇AV无码区| 成人第一页| AⅤ色综合久久天堂AV色综合| 91精品小视频| 成人免费一级片| 国产一区二区三区精品欧美日韩| 国产激爽大片在线播放| 亚洲不卡影院| 狂欢视频在线观看不卡| 国产a v无码专区亚洲av| 2021精品国产自在现线看| 色首页AV在线| 国产色婷婷视频在线观看| 中文字幕第4页| 久久国产精品77777| 国产成人福利在线视老湿机| 精品国产91爱| 日本午夜精品一本在线观看| 亚洲网综合| 无码专区第一页| 亚洲国产日韩一区| 亚洲日韩在线满18点击进入| 国产精品 欧美激情 在线播放| 亚洲成人高清在线观看| 特级毛片免费视频| 丰满人妻被猛烈进入无码| 日本欧美精品| 亚洲AV永久无码精品古装片| 99久久人妻精品免费二区| 欧美综合区自拍亚洲综合天堂| 国产主播喷水| 国产免费福利网站| 欧美午夜在线视频| JIZZ亚洲国产| 久久亚洲国产最新网站| 激情综合五月网| 中文字幕久久亚洲一区| AV片亚洲国产男人的天堂| 国产青榴视频在线观看网站| 91国内外精品自在线播放| 在线视频一区二区三区不卡| yjizz视频最新网站在线| 国产美女无遮挡免费视频| 亚洲无码日韩一区| 色香蕉网站| 欧美性色综合网| 国产凹凸一区在线观看视频| 在线免费亚洲无码视频| 欧美www在线观看| 亚洲欧美另类日本| 久久这里只有精品8| 国产在线精彩视频论坛| 久久青草免费91观看| 精品福利国产| 中文字幕调教一区二区视频| 日韩视频免费| 狠狠色噜噜狠狠狠狠奇米777| 国产精品55夜色66夜色| 亚洲欧美日韩精品专区| 激情在线网| 色屁屁一区二区三区视频国产| 亚洲日韩在线满18点击进入|