亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        數(shù)組排序算法淺析

        2015-04-08 09:12:03張紫琳
        亞太教育 2015年35期
        關(guān)鍵詞:數(shù)組淺析

        張紫琳

        ?

        數(shù)組排序算法淺析

        張紫琳

        摘要:數(shù)組排序是程序設(shè)計的一項重要內(nèi)容,通過運用數(shù)組排序的算法,我們能夠?qū)⒑芏鄦栴}便捷化。在計算機編程中排序是經(jīng)常遇到的一個問題,所有的數(shù)據(jù)只有經(jīng)過一定的排序才會更有意義。在眾多算法中,本文對順序排序、冒泡排序和選擇排序這三種基本的排序算法進行詳細(xì)介紹。

        關(guān)鍵詞:數(shù)組;排序算法;淺析

        數(shù)組排序就是將數(shù)組中的元素按照某種特定的順序進行排列,如升序或降序。數(shù)組排序方法很多,有冒泡排序、順序排序、選擇排序等。本文對一個長度為N的整型數(shù)組a,以升序排列為例,對順序排序、選擇排序和冒泡排序的算法進行解析,并在最后加以比較。

        一、順序排序

        順序排序的主要思想是每一輪比較結(jié)束后都可以確定某一元素;在一輪的比較過程中,將要確定的位置上的元素與其后所有的元素進行比較;對于一個長為N的數(shù)組,需進行N-1輪比較。其第一輪的比較過程如下:

        該輪中,a[0]與a[1]~a[n-1]的所有元素進行比較,比較過程中,如果發(fā)現(xiàn)哪個元素比a[0]小,則與a[0]進行交換。一輪比較之后,確定a[0]為數(shù)組中最小的元素。相同方法,依次確定a[1]、a[2]、a[3]…a[n-2]。

        順序排序主要特點描述

        由上表,可以寫出其實現(xiàn)代碼

        for(i=0;i

        { for(j=i+1;j

        if(a[i]>a[j])

        {t=a[i];a[i]=a[j];a[j]=t;} }

        可以發(fā)現(xiàn)當(dāng)數(shù)組原有的順序是降序,要實現(xiàn)其升序排序時,每一輪中的交換的次數(shù)將會非常多,嚴(yán)重影響排序效率。所以對該方法進行改進:先找出數(shù)組中最小值,再與相應(yīng)位置上的元素進行交換,這就是選擇排序。

        選擇排序的主要過程描述

        二、選擇排序

        選擇排序的主要思想是每次從待排序的數(shù)據(jù)元素中選出最小的一個元素,放在待排序數(shù)列的起始位置,直到全部待排序列的數(shù)據(jù)元素全部排列完畢。

        第一輪的比較過程如下:

        選擇排序的實現(xiàn)代碼

        for(i=0;i

        {k=i;

        for(j=i+1;ja[j]) k=j;

        if(k!=i){t=a[k];a[k]=a[i];a[i]=t;} }

        選擇排序相較于順序排序有更高的執(zhí)行效率,而且思想同樣利于理解。

        三、冒泡排序

        冒泡排序的主要思想是“相鄰元素”之間的比較,如果前面的元素大于后面元素就把他們互換。一輪比較之后可以確定最后一個元素為最大,第二輪比較之后可以確定最后一個元素為第二大的元素……依次類推,第N-1輪比較,可以確定倒數(shù)第二個元素,這個時候數(shù)組的排序完成。冒泡排序的過程如下:

        冒泡排序的實現(xiàn)代碼

        for(i=N-2;i>=0;i--)

        {for(j=0;j<=i;j++)

        if(a[j]>a[j+1])

        {t=a[j];a[j]=a[j+1];a[j+1]=t;}}

        四、算法淺析

        順序排序算法,思想簡單易于理解且適于任何的數(shù)組,無論什么情況下都可以使用;但是順序排序效率較低,可以采用選擇排序法進行改進;即使如此選擇排序的效率依然受到比較次數(shù)的影響,所以對于比較元素比較少的數(shù)組,可以采用冒泡排序法。

        如果數(shù)組中99%的數(shù)值已經(jīng)排序好,即只有很少的元素需要進行排序,可以選擇冒泡排序法;如果你所要排序的數(shù)據(jù)數(shù)目相對較少并滿足100個以下,你就可以采用選擇排序法;如果上述幾種情況都不滿足,那么就選普遍適用的排序算法即順序排序法即可。

        五、結(jié)語

        以上所述只是三種常見排序,在眾多的排序算法中各有優(yōu)缺點,每一種算法只有在某一種情況下才表現(xiàn)的最好,我們應(yīng)當(dāng)合理的根據(jù)實際情況選擇算法。

        參考文獻:

        [1]張巍.基于PageRank算法的搜索引擎優(yōu)化策略研究[D].四川大學(xué),2005.

        [2]郭敏杰.基于云計算的海量網(wǎng)絡(luò)流量數(shù)據(jù)分析處理及關(guān)鍵算法研究[D].北京郵電大學(xué),2014.

        [3]譚浩強.C程序設(shè)計.清華大學(xué)出版社,2010.

        (作者單位:江蘇省宿城中等專業(yè)學(xué)校)

        猜你喜歡
        數(shù)組淺析
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        淺析搓法
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        淺析VLAN間靈活互訪
        電子制作(2019年14期)2019-08-20 05:43:30
        淺析35kV隔離開關(guān)常見缺陷及處理
        電子制作(2018年18期)2018-11-14 01:48:26
        淺析明代漕運輕赍銀
        辨析指針數(shù)組與數(shù)組指針
        Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
        淺析“譙”字“酷烈”義
        尋找勾股數(shù)組的歷程
        五月婷婷开心六月激情| 97无码人妻Va一区二区三区| 日韩中文在线视频| av网站可以直接看的| 99久久国内精品成人免费| 日本肥老妇色xxxxx日本老妇| 88国产精品视频一区二区三区| 亚洲欧洲日韩另类自拍| 偷拍一区二区三区黄片| www夜插内射视频网站| 日韩激情无码免费毛片| 另类一区二区三区| 日韩精品一区二区三区含羞含羞草| 99人中文字幕亚洲区三| 内射少妇36p亚洲区| 日韩中文无线码在线视频观看| 成人黄网站免费永久在线观看 | 极品粉嫩小泬无遮挡20p| 亚洲国产精品自产拍久久蜜AV | 国产丝袜美腿在线视频| 激情综合色五月丁香六月欧美| 蜜臀aⅴ国产精品久久久国产老师 国产精品久久婷婷六月丁香 | 婷婷九月丁香| 97激情在线视频五月天视频| 日日噜噜夜夜狠狠久久丁香五月 | 国产熟妇高潮呻吟喷水| 国产高清国内精品福利99久久| 99久久久69精品一区二区三区| 无码人妻精品中文字幕 | 亚洲成a人片在线网站| 手机在线中文字幕av| 久久亚洲精品国产亚洲老地址| 亚洲av无码一区二区三区系列| 亚洲成AV人久久| 亚洲视频在线观看一区二区三区| 亚洲欧美日韩国产精品一区二区| 亚洲自拍另类欧美综合| 亚洲无人区一码二码国产内射| 国产成人av在线免播放观看新| 大地资源网最新在线播放| 一区二区三区熟妇人妻18|