七大排序完整篇,C語言實現,簡單易懂

2021-10-19 10:15:02 字數 1500 閱讀 8548

bubblesort

(t* d,

const

int n)

}}

selectsort

(t* d,

const

int n)

//直接插入排序

void

insertsort

(t* d,

const

int n)

d[k+1]

=a;//將無序序列第乙個資料置於有序序列中

}}

heapadjust

(t*d,

int left,

int right)

d[left]

=a;//根結點置於葉結點

}void

heapsort

(t* d,

const

int n)

}

void

shellsort

(t*d,

const

int n)

d[j+h]

=a;//將d[i]插到j+h的位置

} h=h/3;

}}

//歸併排序-非遞迴方式

void

mergesort

(t*d,

const

int n)

size*=2

;//序列長度增加一倍

} delete[

]w;}

//將序列[first,mid]和[mid+1,right]合併成乙個有序序列

void

merge

(t*d,t*w,

int left,

int mid,

int right)

}//將有序序列替換原有序列

for(

int k=left; k<=right; k++

)d[k]

=w[k]

;}

void

quicksort

(t*d,

const

int n)

if(jstack<0)

break

;//排序終止

right=istack[jstack--];

//子串行右結點

left=istack[jstack--];

//子串行左結點

}else

//快速排序

swap

(d[j]

,d[k]);

//基準數歸位

jstack+=2

;if(right-i+

1>=j-left)

else

//左序列長度大於右序列長度}}

}

七大排序演算法 c語言

氣泡排序 void bubblesort int arr,int len 插入排序 void insertsort int arr,int len 選擇排序 void selectsort int arr,int len shell排序 增量排序 void shellsort int arr,int...

10大排序演算法(C語言實現)

大一剛放寒假期間,回想一下馬上進入大學時的心情,記得在暑假時加了乙個學校acm戰隊的群,當時感覺很美好,想開學的時候努力一下進入校隊的acm。可是自己又特別喜歡滲透,於是就把acm這個想法放下了,這幾天把sqllabs幹完了,出於閒想看看演算法。記得當時寫c課設的時候,氣泡排序也把我整一段時間才迷糊...

十大排序之選擇排序 排序演算法 C語言實現

選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定...