冒泡法排序c++及冒頂片幫專項應(yīng)急預(yù)案(參考方案)_第1頁
冒泡法排序c++及冒頂片幫專項應(yīng)急預(yù)案(參考方案)_第2頁
冒泡法排序c++及冒頂片幫專項應(yīng)急預(yù)案(參考方案)_第3頁
冒泡法排序c++及冒頂片幫專項應(yīng)急預(yù)案(參考方案)_第4頁
冒泡法排序c++及冒頂片幫專項應(yīng)急預(yù)案(參考方案)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

冒泡排序是非常容易理解和實現(xiàn),,以從小到大排序舉例:設(shè)數(shù)組長度為N。1.比較相鄰的前后二個數(shù)據(jù),如果前面數(shù)據(jù)大于后面的數(shù)據(jù),就將二個數(shù)據(jù)交換。2.這樣對數(shù)組的第0個數(shù)據(jù)到N-1個數(shù)據(jù)進(jìn)行一次遍歷后,最大的一個數(shù)據(jù)就“沉”到數(shù)組第N-1個位置。3.N=N-1,如果N不為0就重復(fù)前面二步,否則排序完成。按照定義很容易寫出代碼://冒泡排序1voidBubbleSort1(inta[],intn){inti,j;for(i=0;i<n;i++)for(j=1;j<n-i;j++)if(a[j-1]>a[j])Swap(a[j-1],a[j]);}

下面對其進(jìn)行優(yōu)化,設(shè)置一個標(biāo)志,如果這一趟發(fā)生了交換,則為true,否則為false。明顯如果有一趟沒有發(fā)生交換,說明排序已經(jīng)完成。//冒泡排序2voidBubbleSort2(inta[],intn){intj,k;boolflag;k=n;flag=true;while(flag){flag=false;for(j=1;j<k;j++)if(a[j-1]>a[j]){Swap(a[j-1],a[j]);flag=true;}k--;}}再做進(jìn)一步的優(yōu)化。如果有100個數(shù)的數(shù)組,僅前面10個無序,后面90個都已排好序且都大于前面10個數(shù)字,那么在第一趟遍歷后,最后發(fā)生交換的位置必定小于10,且這個位置之后的數(shù)據(jù)必定已經(jīng)有序了,記錄下這位置,第二次只要從數(shù)組頭部遍歷到這個位置就可以了。//冒泡排序3voidBubbleSort3(inta[],intn){ intj,k; intflag; flag=n; while(flag>0) { k=flag; flag=0; for(j=1;j<k;j++) if(a[j-1]>a[j]) { Swap(a[j-1],a[j]); flag=j; } }}冒泡排序畢竟是一種效率低下的排序方法,在數(shù)據(jù)規(guī)模很小時,可以采用。數(shù)據(jù)規(guī)模比較大時,最好用其它排序方法。白話經(jīng)典算法系列之二直接插入排序的三種實現(xiàn)分類:白話經(jīng)典算法系列2011-08-0619:2723895人閱讀評論(32)\o"收藏"收藏\o"舉報"舉報算法直接插入排序(InsertionSort)的基本思想是:每次將一個待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子序列中的適當(dāng)位置,直到全部記錄插入完成為止。設(shè)數(shù)組為a[0…n-1]。1.初始時,a[0]自成1個有序區(qū),無序區(qū)為a[1..n-1]。令i=12.將a[i]并入當(dāng)前的有序區(qū)a[0…i-1]中形成a[0…i]的有序區(qū)間。3.i++并重復(fù)第二步直到i==n-1。排序完成。下面給出嚴(yán)格按照定義書寫的代碼(由小到大排序):[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidInsertsort1(inta[],intn){inti,j,k;for(i=1;i<n;i++){//為a[i]在前面的a[0...i-1]有序區(qū)間中找一個合適的位置for(j=i-1;j>=0;j--)if(a[j]<a[i])break;//如找到了一個合適的位置if(j!=i-1){//將比a[i]大的數(shù)據(jù)向后移inttemp=a[i];for(k=i-1;k>j;k--)a[k+1]=a[k];//將a[i]放到正確位置上a[k+1]=temp;}}}這樣的代碼太長了,不夠清晰?,F(xiàn)在進(jìn)行一下改寫,將搜索和數(shù)據(jù)后移這二個步驟合并。即每次a[i]先和前面一個數(shù)據(jù)a[i-1]比較,如果a[i]>a[i-1]說明a[0…i]也是有序的,無須調(diào)整。否則就令j=i-1,temp=a[i]。然后一邊將數(shù)據(jù)a[j]向后移動一邊向前搜索,當(dāng)有數(shù)據(jù)a[j]<a[i]時停止并將temp放到a[j+1]處。[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidInsertsort2(inta[],intn){inti,j;for(i=1;i<n;i++)if(a[i]<a[i-1]){inttemp=a[i];for(j=i-1;j>=0&&a[j]>temp;j--)a[j+1]=a[j];a[j+1]=temp;}}

再對將a[j]插入到前面a[0…j-1]的有序區(qū)間所用的方法進(jìn)行改寫,用數(shù)據(jù)交換代替數(shù)據(jù)后移。如果a[j]前一個數(shù)據(jù)a[j-1]>a[j],就交換a[j]和a[j-1],再j--直到a[j-1]<=a[j]。這樣也可以實現(xiàn)將一個新數(shù)據(jù)新并入到有序區(qū)間。[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidInsertsort3(inta[],intn){inti,j;for(i=1;i<n;i++)for(j=i-1;j>=0&&a[j]>a[j+1];j--)Swap(a[j],a[j+1]);}白話經(jīng)典算法系列之三希爾排序的實現(xiàn)分類:白話經(jīng)典算法系列2011-08-0811:4118668人閱讀評論(27)\o"收藏"收藏\o"舉報"舉報算法shell優(yōu)化c希爾排序的實質(zhì)就是分組插入排序,該方法又稱縮小增量排序,因DL.Shell于1959年提出而得名。該方法的基本思想是:先將整個待排元素序列分割成若干個子序列(由相隔某個“增量”的元素組成的)分別進(jìn)行直接插入排序,然后依次縮減增量再進(jìn)行排序,待整個序列中的元素基本有序(增量足夠?。r,再對全體元素進(jìn)行一次直接插入排序。因為直接插入排序在元素基本有序的情況下(接近最好情況),效率是很高的,因此希爾排序在時間效率上比前兩種方法有較大提高。以n=10的一個數(shù)組49,38,65,97,26,13,27,49,55,4為例第一次gap=10/2=549386597261327495541A1B2A2B3A3B4A4B5A5B1A,1B,2A,2B等為分組標(biāo)記,數(shù)字相同的表示在同一組,大寫字母表示是該組的第幾個元素,每次對同一組的數(shù)據(jù)進(jìn)行直接插入排序。即分成了五組(49,13)(38,27)(65,49)(97,55)(26,4)這樣每組排序后就變成了(13,49)(27,38)(49,65)(55,97)(4,26),下同。第二次gap=5/2=2排序后13274955449386597261A1B1C1D1E2A2B2C2D2E第三次gap=2/2=142613273849495597651A1B1C1D1E1F1G1H1I1J第四次gap=1/2=0排序完成得到數(shù)組:4132627384949556597下面給出嚴(yán)格按照定義來寫的希爾排序[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidshellsort1(inta[],intn){inti,j,gap;for(gap=n/2;gap>0;gap/=2)//步長for(i=0;i<gap;i++)//直接插入排序{for(j=i+gap;j<n;j+=gap)if(a[j]<a[j-gap]){inttemp=a[j];intk=j-gap;while(k>=0&&a[k]>temp){a[k+gap]=a[k];k-=gap;}a[k+gap]=temp;}}}很明顯,上面的shellsort1代碼雖然對直觀的理解希爾排序有幫助,但代碼量太大了,不夠簡潔清晰。因此進(jìn)行下改進(jìn)和優(yōu)化,以第二次排序為例,原來是每次從1A到1E,從2A到2E,可以改成從1B開始,先和1A比較,然后取2B與2A比較,再取1C與前面自己組內(nèi)的數(shù)據(jù)比較…….。這種每次從數(shù)組第gap個元素開始,每個元素與自己組內(nèi)的數(shù)據(jù)進(jìn)行直接插入排序顯然也是正確的。[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidshellsort2(inta[],intn){intj,gap;for(gap=n/2;gap>0;gap/=2)for(j=gap;j<n;j++)//從數(shù)組第gap個元素開始if(a[j]<a[j-gap])//每個元素與自己組內(nèi)的數(shù)據(jù)進(jìn)行直接插入排序{inttemp=a[j];intk=j-gap;while(k>=0&&a[k]>temp){a[k+gap]=a[k];k-=gap;}a[k+gap]=temp;}}

再將直接插入排序部分用\o"白話經(jīng)典算法系列之二直接插入排序的三種實現(xiàn)"白話經(jīng)典算法系列之二直接插入排序的三種實現(xiàn)中直接插入排序的第三種方法來改寫下:[cpp]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?voidshellsort3(inta[],intn){inti,j,gap;for(gap=n/2;gap>0;gap/=2)for(i=gap;i<n;i++)for(j=i-gap;j>=0&&a[j]>a[j+gap];j-=gap)Swap(a[j],a[j+gap]);}這樣代碼就變得非常簡潔了。附注:上面希爾排序的步長選擇都是從n/2開始,每次再減半,直到最后為1。其實也可以有另外的更高效的步長選擇,如果讀者有興趣了解,請參閱維基百科上對希爾排序步長的說明:/wiki/%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F二、冒頂片幫事故專項應(yīng)急預(yù)案1、事故類型和危險程度分析在礦山開采活動中,非煤礦山冒頂片幫造成的人員傷亡事故占礦山事故的60%~80%。頂板冒落與采場面積、巖石軟硬、節(jié)理裂隙發(fā)育程度、地質(zhì)構(gòu)造、采礦方法、滲水等眾多因素有關(guān)。為了控制冒頂片幫,防止人員傷亡,人們在生產(chǎn)實踐中積累了防止冒頂片幫的豐富經(jīng)驗,如“敲幫問頂”、清理浮石、查清倒三角、查清構(gòu)造產(chǎn)狀、采場臨時頂柱等都是行之有效的防止冒頂片幫的方法。本礦山采區(qū)易發(fā)生冒頂片幫事故的場所主要是采場、采空區(qū)、掘進(jìn)工作面等。一旦發(fā)生,可危及作業(yè)人員安全,可使設(shè)備設(shè)施損壞,可破壞井下通風(fēng)及安全通道,其數(shù)量少則幾公斤,多則上噸仍至幾百噸不等。一般是雨季和冰凍季節(jié)易發(fā)。2、冒頂片幫事故的處理原則:2.1先檢查,確信無二次事故發(fā)生時才可進(jìn)入事故點。2.2以救人為先2.3確保支護(hù)可靠,施救人員安排合理,觀測、警示人員認(rèn)真負(fù)責(zé)。3、組織機構(gòu)及職責(zé)3.1成立冒頂片幫事故應(yīng)急救援指揮部3.1.1總指揮:蘭圣3.1.2副總指揮:余海波3.1.3成員:郭乃建、文海峰、韋蘭家、凌朝國、李瓊?cè)A、梁緒林3.2總指揮職責(zé):3.2.1發(fā)生事故時,由指揮發(fā)布和解除應(yīng)急救援命令、信號;3.2.2組織指揮救援隊伍實施救援行動;3.2.3向上級匯報和向友鄰單位通報事故情況,必要時向有關(guān)單位發(fā)出救援請求;3.2.4組織事故調(diào)查,總結(jié)應(yīng)急救援工作經(jīng)驗教訓(xùn)。3.2.5是救援的全權(quán)指揮者,在總工程師、礦山救護(hù)隊的協(xié)助下,制定營救遇險人員和處理事故的作戰(zhàn)計劃。3.3.總工程師職責(zé):是總指揮處理事故的第一助手,在總指揮領(lǐng)導(dǎo)下組織制定營救遇險人員和處理事故的作戰(zhàn)計劃。3.4副總指揮職責(zé):根據(jù)營救遇險人員和處理事故作戰(zhàn)計劃,負(fù)責(zé)組織好處理事故所需的工人待命,及時調(diào)集救災(zāi)中所必須的設(shè)備材料,嚴(yán)格控制入井人員,簽發(fā)搶救事故用的入井特別許可證。3.5安環(huán)部職責(zé):根據(jù)批準(zhǔn)的營救遇險人員和處理事故的作戰(zhàn)計劃,對搶險救災(zāi)工作的安全和入井人員的控制實行有效監(jiān)督。3.6技術(shù)部有關(guān)人員職責(zé):提供事故現(xiàn)場的相關(guān)資料,供總指揮和總工程師實施營救決策用。3.7成立救護(hù)隊組長:楊禮泉副組長:郭乃建成員:周世高、李鎮(zhèn)仕。3.8救護(hù)隊隊長職責(zé):對礦山救護(hù)隊的行為負(fù)責(zé),全面指揮領(lǐng)導(dǎo)礦山救護(hù)隊,根據(jù)營救遇險人員和處理事故作戰(zhàn)計劃所規(guī)定的任務(wù),完成對災(zāi)區(qū)遇險人員的救援和事故處理。如果外部礦山救護(hù)隊聯(lián)合作戰(zhàn)時,應(yīng)成立礦山救護(hù)隊聯(lián)合作戰(zhàn)部,由事故發(fā)生所在地的救護(hù)隊長擔(dān)任指揮,協(xié)調(diào)各救護(hù)隊的行動。3.9救護(hù)隊副隊長職責(zé):協(xié)助隊長工作,重點是作好救護(hù)器材的使用培訓(xùn)以及保管、維護(hù)工作,作好救護(hù)器材使用的日常演練,使救護(hù)隊成員能迅速、準(zhǔn)確、有郊使用救護(hù)器材,確保救護(hù)過程安全。3.10救護(hù)隊成員職責(zé):熟練掌握各種器材、儀器的使用,掌握各種施救方法,按命令實施相關(guān)救援行動,服從指揮,聽從安排,積極主動完成布置的施救任務(wù)。4.預(yù)防與預(yù)警4.1危險源監(jiān)控:4.1.1進(jìn)入可能發(fā)生冒頂片幫事故的場所時,應(yīng)觀察是否有掉礦、悶響、裂隙增大等到現(xiàn)象,如有則不得入內(nèi)。4..1.2作好記錄及井下測繪工作.4.2預(yù)警行動4.2.1對監(jiān)測的結(jié)果及時在員工會議上進(jìn)行公布,并對相關(guān)預(yù)防事故的作法、要求、施救要領(lǐng)進(jìn)行培訓(xùn)。4.2.2不得一人進(jìn)入采空區(qū)、采場、放炮作業(yè)區(qū),行進(jìn)時人員要前后分開,相距5米左右,發(fā)現(xiàn)問題應(yīng)立即撤離。4.2.3發(fā)現(xiàn)有人進(jìn)入采空區(qū)、采場、放炮作業(yè)區(qū)未返回時,應(yīng)立即報警,不得盲目施救,防止次事故發(fā)生.5.信息報告程序5.1冒頂片幫事故報警及程序5.1.1報警系統(tǒng):發(fā)現(xiàn)人→井下值班領(lǐng)導(dǎo)→調(diào)度室→礦長→→啟動預(yù)案5.1.2信息報告程序冒頂片幫事故的報告程序(見下圖)礦長礦長理副礦長總工程師采掘承包隊技術(shù)部機動部有關(guān)單位醫(yī)院礦值班領(lǐng)導(dǎo)調(diào)度室冒頂片幫事故詢問并記錄事故發(fā)生的性質(zhì)、時間、地點、冒頂片幫災(zāi)區(qū)人數(shù)、危害程度、影響范圍、現(xiàn)狀和趨勢。就近組織采掘隊力量搶救災(zāi)區(qū)人員,并將冒頂擴大后受威脅地區(qū)的人員撤離危險區(qū)。隨時調(diào)度井下?lián)岆U救災(zāi)的工作,統(tǒng)計掌握出入井人數(shù)和留在井下各地區(qū)的人數(shù)。救護(hù)隊礦山調(diào)度室安環(huán)部縣安監(jiān)局方案實施救援結(jié)束事故處理制定救災(zāi)方案成立救災(zāi)指揮部5.1.3報警方式:井下值班電話:井1、井2、井3調(diào)度室電話:0773—8214153礦長電話:158771896965.1.4其他聯(lián)系電話:恭城縣人民政恭城縣安監(jiān)局0773—8212779,恭城縣人民醫(yī)恭城縣公1.5報告時應(yīng)說明事故的時間、地點、基本情況、施救進(jìn)程等。6.冒頂片幫事故應(yīng)急處置:6.1響應(yīng)分級6.1.1一級響應(yīng):只發(fā)現(xiàn)冒頂片幫,無人員受傷,且冒落量少于1立方。6.1.2二級響應(yīng):一人以上重傷,,且冒落量少于10立方。6.1.3三級響應(yīng):一人以上死亡或一人以上被埋事故。6.2響應(yīng)程序6.2.1一級響應(yīng):由采區(qū)解決,并報安環(huán)部備案.6.2.2二級響應(yīng):由礦長指定部門處理.并報領(lǐng)導(dǎo)小組辦公室備案.6.2.3三級響應(yīng):由領(lǐng)導(dǎo)小組組長通知啟動預(yù)案,各部門按預(yù)案進(jìn)入應(yīng)急程序.6.3處置措施6.3.1處置步驟:一是組織救護(hù)隊偵察災(zāi)區(qū)情況,搶救遇險人員;二是采取最快的措施恢復(fù)災(zāi)區(qū)通風(fēng);三是尋找根源,查明引起事故的原因。6.3.2處理方法:如果頂板冒落范圍不大時,遇險人員被大塊巖石壓在下邊,可用千斤頂?shù)裙ぞ甙汛髩K巖石頂起來,將人員救出。如果頂板沿采場工作面礦壁冒落,巖石比較破碎,遇險人員又靠礦壁附近時,可采用沿礦壁由外向里掏小洞的方法。為便于操作,小洞的面積一般應(yīng)不小于1㎡,并嚴(yán)格支護(hù)頂板,采取邊支護(hù)邊掏洞,直至把遇險人員救出。6.3.3.采掘工作面頂板事故的處理影響范圍:采掘工作面頂板事故的發(fā)生,對現(xiàn)場人員人身安全造成重大威脅,對采掘工作面生產(chǎn)系統(tǒng)造成嚴(yán)重影響,甚至可能對工作面通風(fēng)系統(tǒng)等造成破壞,引起其他事故的發(fā)生。事故發(fā)生后,采掘工作面跟班人員、現(xiàn)場負(fù)責(zé)人或現(xiàn)場人員通過對外聯(lián)絡(luò)電話等,及時向值班人員、調(diào)度室匯報事故情況。處理措施.1采場工作面頂板事故發(fā)生后,應(yīng)立即停止冒頂事故影響范圍內(nèi)一切設(shè)備的運行,并切斷電源;.2冒頂影響范圍內(nèi)人員,立即沿撤離路線撤至安全區(qū);.3由采場工作面跟班人員或工長負(fù)責(zé),清點安全撤離人員人數(shù),確定是否有冒頂埋人現(xiàn)象,并判斷冒頂位置、規(guī)模、性質(zhì);.4出現(xiàn)冒頂傷人、埋人事故后,對傷者必須立即組織現(xiàn)場搶救或上井治療;對冒頂埋住人員立即組織營救;.5人員營救工作應(yīng)由指揮部統(tǒng)一指揮,首先確認(rèn)冒頂區(qū)周圍環(huán)境安全或經(jīng)加固支護(hù)安全后,對冒頂區(qū)進(jìn)行由外向里臨時支護(hù),在不危及事故搶救人員安全的情況下,方準(zhǔn)進(jìn)行人員營救及事故搶救工作;.6處理冒頂必須堅持由外向里的原則,先加固冒頂區(qū)周圍的支護(hù),防止冒頂繼續(xù)擴大;處理工作面冒頂必須堅持由冒頂區(qū)兩側(cè)的安全區(qū)逐步向冒頂區(qū)進(jìn)行處理的原則。凡處理冒頂事故,必須等頂板穩(wěn)定后,備足物料,組織好人員,安排專人觀察好頂板,隊長現(xiàn)場指揮,由熟練的工人作業(yè)。遇有大塊巖石應(yīng)使用千斤頂?shù)裙ぞ咝⌒囊苿邮瘔K,避免破壞冒落巖石的堆積狀態(tài),引發(fā)頂板繼續(xù)冒落或給被埋住人員造成二次傷害,從而使事故擴大。.7若工作面因冒頂造成通風(fēng)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論