經(jīng)典排序算法總結(jié)(代碼)_第1頁
經(jīng)典排序算法總結(jié)(代碼)_第2頁
經(jīng)典排序算法總結(jié)(代碼)_第3頁
經(jīng)典排序算法總結(jié)(代碼)_第4頁
經(jīng)典排序算法總結(jié)(代碼)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

序序序序序序序序序序序序--fly目

分享/*法..........................................................................................................................................2/*速排.................................................................................................................................../*入排.................................................................................................................................../*爾〕排/*擇排.................................................................................................................................../*排/*并排...................................................................................................................................原理

:///wiki/Category:%E6%8E%92%E5%BA%8F%E7%AE%演示:

:///kecheng1/site01/suanfayanshi/list.asp?id=7#include#include<string>std;/*

冒泡法左右元素相比往冒泡*/template<typenamevoidBubbleSort(T*r,intn){Ttemp;i,j;for{for(j=0;j<n-i-1;j++){if(r[j]>r[j+1]){temp=r[j];r[j]=r[j+1];}}}}/*速排序左邊小,邊比大,得到一最邊數(shù)據(jù)位置*template<typenamevoidQuickSort(Ta[],intlow,int{if<high){Telem=a[low];intl=low,rwhile(l<r){while(lr&&a[r]>=r--;if(l<r){=a[r];}(l<r&&a[l]<=elem)if(l<r){a[l];}}a[r]=elem;QuickSort(a,r+1,high);}}/*入排序向右移,a[j+1]=a[j]*/template<typenamevoida[],int{inti,j;Tfor(i=1;i<n{ji-elem&&elem<a[j]){a[j+1]=a[j];j--;}a[j+1]=}}/*爾〔〕序把插排的改成d即可*/template<typenamevoidarray[],int{inti,j;Tfori=d;ilen;i++){jid;elemarray[i];(j>=0&&<array[j]){[j+d]=[j];j=j-d;}[j+d]=elem;}}template<T>void[],intlen){intinc=len;{inc/2;shell_insert(array,inc,len);}(inc1);}/*擇排序逐一比最小放前面*<typenameT>voidSelectSort(Ta[],int{inti,j,elemNum;Tfor(i=0;i<n-1;i++){elemNumi;for(j=i+1;j<n;j++){if(a[j]a[elemNum]){=j;}}if(elemNum!=i){elema[i]a[elemNum];a[elemNum]=}}}/*堆序a[s]>=a[2*s]&&a[s]>=a[2*s+1]*/template<typenamevoidMax_heap(Ta[],intS,int{intl=2*S;intr=intmaxI=S;Tif(l<&&a[l]>{=l;}if(r&&>a[maxI]){=r;}if(maxI!={elema[S];a[S]=a[maxI];a[maxI]=Max_heap(a,maxI,len);}}template<typenamevoidHeapSort(Ta[],intn){inti;Tfor(i=n/2;i>=0;i--){}(i=n-1;i>=1;i--){elema[0];a[i];a[i]elem;n=Max_heap(a,0,n);}}/*并排序左邊邊,邊++;右邊小取右邊,右邊template<typenamevoid[],intintmid,inthigh){intk;T*temp申空,其小為兩已排序空用存合后序列int=low;end1=mid;int=midint=high;for(k=begin1<=end1&&end2;++k)比擬兩指針指向元素?fù)裣嘈〉乃胤湃氲胶祥g,移動針到一置{ifarray[begin1]<=[begin2])[begin1++];array[begin2++];}if(begin1<=end1)//假設(shè)第一個序列有余接拷貝出來粘到合并列尾memcpy(temp+k,array+begin1,(end1-begin1+1)*sizeof(T));if(begin2<=end2)//假設(shè)第二個序列有余接拷貝出來粘到合并序列尾memcpy(temp+k,array+begin2,(end2-begin2+1)*sizeof(T));memcpy(array+low,(high-low+1)*sizeof(T));//將排的序拷貝數(shù)組中delete}template<typenamevoid[],unsignedintfirst,unsignedintlast){intmid=if{(first+last)/2;/*注防止出*/mid=first/2+=(first&last)+((firstlast)1);merge_sort(first,mid);merge_sort(mid+1,last);merge(}}template<typenameT>voidr,int{for(i=0;i<n;i++){cout<<r[i]

溫馨提示

  • 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

提交評論