冉翠翠,荀 珂
(河南農(nóng)業(yè)職業(yè)學(xué)院,河南 鄭州 451450)
隨著我國信息技術(shù)的普遍應(yīng)用,計(jì)算機(jī)信息技術(shù)以及軟件開發(fā)的技術(shù)也相對得到了一定的提升,計(jì)算機(jī)程序設(shè)計(jì)的科學(xué)性使得其應(yīng)用的越來越廣泛,計(jì)算機(jī)程序設(shè)計(jì)的廣泛應(yīng)用使軟件開發(fā)的技術(shù)也隨之提升,因此,在這樣的背景下,計(jì)算機(jī)程序設(shè)計(jì)的排序問題成為其中的重要組成部分,信息技術(shù)的普遍應(yīng)用對計(jì)算機(jī)程序設(shè)計(jì)排版提出更高的要求,因此,必須確保計(jì)算機(jī)程序設(shè)計(jì)排序中排序的有效性,才能夠進(jìn)一步保證無序列數(shù)據(jù)元素在計(jì)算機(jī)程序中科學(xué)合理進(jìn)行排列,無序列元素排序的有效性從而進(jìn)一步提升進(jìn)算計(jì)對數(shù)據(jù)信息查找的效率。信息技術(shù)的提升導(dǎo)致計(jì)算機(jī)程序設(shè)計(jì)的方法相對較多,在設(shè)計(jì)過程中容易受到多方面的影響因素,因此,對計(jì)算機(jī)程序設(shè)計(jì)的排序問題進(jìn)行研究探討是非常有必要的,有效的探討對計(jì)算機(jī)的程序設(shè)計(jì)排序具有一定的實(shí)踐意義與應(yīng)用價(jià)值。
排序的問題是計(jì)算機(jī)程序設(shè)計(jì)中較為重要的部分,排序是相對復(fù)雜的一個環(huán)節(jié),如果排序問題沒有進(jìn)行妥善的處理,直接會影響計(jì)算機(jī)程序?qū)π畔z索的有效性造成影響。正常情況下,為方便對信息以及數(shù)據(jù)進(jìn)行查找,計(jì)算機(jī)中的表往往都會按照關(guān)鍵字進(jìn)行排列,方便操作人員能夠以最快的速度查找所需要的信息,從而提高操作人員的查找效率,所以,有效的排序是計(jì)算機(jī)程序設(shè)計(jì)的關(guān)鍵。計(jì)算機(jī)程序設(shè)計(jì)中待排序記錄數(shù)量存在差別,所以,儲存器的使用也需要根據(jù)待排序的記錄數(shù)量進(jìn)行選取,因此,可以將計(jì)算機(jī)程序設(shè)計(jì)的排序分為兩種形式:內(nèi)部排序和外部排序,由于排序方法的不同,所以排序的穩(wěn)定性以及算法的復(fù)雜性也有一定的差別[1]。當(dāng)前計(jì)算機(jī)程序設(shè)計(jì)都想要最大程度做到對任意給定問題進(jìn)行復(fù)雜設(shè)計(jì),從而達(dá)到簡算的目的,所以,為確保計(jì)算機(jī)程序排序的有效性以及科學(xué)性,相關(guān)人員必須要提升對計(jì)算機(jī)程序排序的認(rèn)識,進(jìn)一步為計(jì)算機(jī)程序的設(shè)計(jì)提供有效的參考。
計(jì)算機(jī)程序設(shè)計(jì)以及軟件開發(fā)是為了能夠?qū)崿F(xiàn)一些功能,因此,計(jì)算機(jī)程序設(shè)計(jì)所涉及的知識面較廣,所以沒在排序操作的過程中相關(guān)的數(shù)據(jù)信息也較為復(fù)雜,導(dǎo)致計(jì)算機(jī)程序設(shè)計(jì)的排序問題較為復(fù)雜,雖然在排序中可以選取最佳的計(jì)算機(jī)程序設(shè)計(jì)方案,但是因開發(fā)軟件自身的性質(zhì)以及特點(diǎn),導(dǎo)致排序問題依舊存在復(fù)雜性[2]。另一方面是排序問題的不確定性,實(shí)際的計(jì)算機(jī)程序設(shè)計(jì)過程中,不會一次成型,需要對相關(guān)的數(shù)據(jù)進(jìn)行反復(fù)的修改以及調(diào)整,所以,計(jì)算機(jī)程序設(shè)計(jì)中會發(fā)生各式各樣的狀況,排序問題也因此發(fā)生改變,數(shù)據(jù)或是記錄進(jìn)行修改的情況是計(jì)算機(jī)程序設(shè)計(jì)過程中時(shí)常發(fā)生的現(xiàn)象,因此,提高了排序問題的不確定性。
計(jì)算機(jī)軟件設(shè)計(jì)過程中,排序的合理性會對計(jì)算機(jī)程序設(shè)計(jì)造成直接的影響,而且在實(shí)際的軟件開發(fā)過程中,各種類型的數(shù)據(jù)資源都是相互制約的,數(shù)據(jù)與數(shù)據(jù)之間的制約也對計(jì)算機(jī)程序設(shè)計(jì)的排序造成一定影響,所以,軟件開發(fā)中多約束性也是影響排序的關(guān)鍵問題[3]。另一方面,計(jì)算機(jī)程序設(shè)計(jì)中,對一些數(shù)據(jù)資源存放是隨機(jī)的,而且在這個過程中所存放的數(shù)據(jù)資源都是相對重要的,能夠在同一時(shí)間被不同的目標(biāo)選用,因此,在計(jì)算機(jī)程序設(shè)計(jì)中,對排序問題的處理還應(yīng)參照有關(guān)數(shù)據(jù)的選用目標(biāo)以及相關(guān)標(biāo)準(zhǔn),從而對排序問題進(jìn)行優(yōu)化,避免數(shù)據(jù)資源引用混亂的現(xiàn)象發(fā)生,因此,多目標(biāo)性也是影響排序問題的部分。
不同的計(jì)算機(jī)程序設(shè)計(jì)所用到的排序方法相對不同,所以,在計(jì)算機(jī)程序設(shè)計(jì)過程中選出符合程序設(shè)計(jì)的排序方法是較為關(guān)鍵的,排序方法的選擇能夠在一定程度上優(yōu)化排序的問題,排序問題的優(yōu)化能夠提升計(jì)算機(jī)程序設(shè)計(jì)的質(zhì)量,還能夠增強(qiáng)開發(fā)軟件的功能,進(jìn)一步發(fā)揮程序功能的實(shí)際作用,推動計(jì)算機(jī)軟件開發(fā)行業(yè)的快速發(fā)展,提高生產(chǎn)力的同時(shí)提升市場的核心競爭力?;诖?,排序方法主要有以下幾種。
冒泡排序法主要是指在計(jì)算機(jī)程序設(shè)計(jì)的排序中,對相鄰的元素進(jìn)行對比,將最小數(shù)值的數(shù)據(jù)調(diào)至最前面,多所有數(shù)據(jù)元素進(jìn)行對比,直到將全部的數(shù)據(jù)對比完成。例如關(guān)鍵數(shù)值元素為“8、7、4、13、1”的冒泡排序中,其一是將數(shù)據(jù)中的“8”和“7”進(jìn)行對比,將數(shù)據(jù)元素“7”調(diào)到前面,從而使關(guān)鍵字變?yōu)椤?、8、4、13、1”;其二是將“8”和“4”驚醒對比,從而將“4”調(diào)至最前面,則關(guān)鍵字變?yōu)椤?、4、8、13、1”;其三是將“8”和“13”進(jìn)行對比,關(guān)機(jī)數(shù)字不斷,最后是將“13”和“1”進(jìn)行比較,將“1”調(diào)至“13”前面。數(shù)值元素則變?yōu)椤?、4、8、1、13”進(jìn)一步完成冒泡排序法。
在計(jì)算機(jī)程序設(shè)計(jì)中,最為常用的數(shù)據(jù)排序方法就是快速排序法??焖倥判蚍軌蛟谝欢ǔ潭壬咸岣哂?jì)算機(jī)程序設(shè)計(jì)的質(zhì)量,降低程序中的誤差,進(jìn)一步增強(qiáng)其功能,快速排序法的核心是將原始數(shù)據(jù)分為兩個部分,而且兩個部分的原始數(shù)據(jù)要么都是大要么都是小,這就需要兩個指針來完成,例如一組數(shù)據(jù)元素為“48、36、60、92、71、12、22、48’”通過第一次的掃面排序可以知道“[22、36、13]48[71、92、60、48]”的結(jié)果,通過第二次的排序[12]23[36]48[48’60]71[92]的結(jié)果,第三次排序的結(jié)果為12、23、36、48、48’、60、71、92,因此,可以知道,快速排序法能夠在一定程度上滿足程序設(shè)計(jì)人員的實(shí)際需求,進(jìn)一步提高計(jì)算機(jī)程序設(shè)計(jì)的質(zhì)量。
選擇排序法指通過交叉對比的方式對需要進(jìn)行排序的元素進(jìn)行調(diào)整并且確認(rèn),進(jìn)一步選擇適合排序的數(shù)據(jù)元素,計(jì)算機(jī)程序設(shè)計(jì)中,選擇排序法的應(yīng)用可以根據(jù)設(shè)計(jì)人員對計(jì)算機(jī)程序設(shè)計(jì)排序的算法進(jìn)行分析,最后確定并選取最有效的排序方法,選擇排序法與冒泡排序法較為相似,在選擇排序中,利用一個輔助的單元,而排序所消耗的時(shí)間和工效率與n之間有著較為緊密的聯(lián)系,在這個過程中,主要是分為正序和逆序的方式,正序中比較次數(shù)的計(jì)算方式為n(n-1)/2,移動為0;在逆序中,比較次數(shù)的計(jì)算方式與正序的計(jì)算方式相同,但是移動的次數(shù)為3(n-1),因此,計(jì)算機(jī)程序設(shè)計(jì)的排序方法應(yīng)該進(jìn)行合理的選擇。
在實(shí)際的計(jì)算機(jī)程序設(shè)計(jì)過程中,為了能夠解決計(jì)算的排序問題,需要科學(xué)地選擇計(jì)算機(jī)程序設(shè)計(jì)的排序方法,計(jì)算機(jī)程序設(shè)計(jì)排序方法的合理選擇能夠有效地保障計(jì)算機(jī)程序設(shè)計(jì)的質(zhì)量以及計(jì)算機(jī)程序的效率[4]。在實(shí)際程序設(shè)計(jì)過程中,選取的排序方法不同,所用的時(shí)間也因此不同,因此,設(shè)計(jì)人員所要考慮到的問題也要全面,對排序中n值與排序方法之間的聯(lián)系進(jìn)行全面的考慮,對n相對較小的數(shù)值可以使用插入法和直接選擇法,這種方式能夠?qū)π畔⒘枯^大的內(nèi)容進(jìn)行有效的記錄,是最為符合的排序方式,相對的,n值較大,則選擇復(fù)雜程度相對較小的排序方式進(jìn)行計(jì)算機(jī)程序的設(shè)計(jì),例如快速排序法,在實(shí)際的排序中,始終最多的一般都是快速排序法,因其用時(shí)較少,而且質(zhì)量相對較高。
計(jì)算機(jī)程序設(shè)計(jì)的核心是為能夠給相關(guān)計(jì)算機(jī)軟件正常執(zhí)行提供一定的保障,但是,當(dāng)前排序的問題已經(jīng)對計(jì)算機(jī)程序設(shè)計(jì)的質(zhì)量產(chǎn)生了一定的影響,因此,加強(qiáng)計(jì)算機(jī)程序設(shè)計(jì)的排序問題是當(dāng)前計(jì)算機(jī)發(fā)展的必然趨勢,解決當(dāng)前存在的計(jì)算機(jī)程序設(shè)計(jì)排序的問題才能夠較好地保障計(jì)算機(jī)軟件的正常執(zhí)行。