七種排序方式總結

2021-08-14 22:18:10 字數 2504 閱讀 6279

/*2018.01.23

*a:yuan

*t:其中排序演算法:氣泡排序,簡單排序,直接插入排序,希爾排序,堆排序,歸併排序,快速排序

*/#include #include #include #define maxsize 10000

#define false 0

#define true 1

typedef struct

sqlist;

void swap(sqlist *l,int i,int j)

//氣泡排序1

void bubble_sort0(sqlist *l)

} } }

//簡單排序法

void ******_selection_sort(sqlist *l)

} if(i != min)

swap(l,i,min); }}

void straight_insertion_sort(sqlist *l)

l->r[j+1] = l->r[0];

} }}void shell_sort(sqlist *l)

l->r[j+parameter] = l->r[0];

}} }while(parameter > 1);

}//堆排序

void heap_ajust(sqlist *l,int s,int m)

l->r[s]=temp;

}void heap_sort(sqlist *l)

for(i = l->length;i>1;i--) }

//快速排序——此時在它之前(後)的記錄均不大於(小)它

int partitiom(sqlist *l,int low,int high)

return low;

}void qsort(sqlist *l,int low,int high)

}void quicksort(sqlist *l)

//歸併排序

/*歸併排序的歸併函式*/

void merge(int sr, int tr, int i, int middle, int rightend)

if (i <= middle)

if (j <= rightend)

}

/*歸併排序遞迴函式*/

void msort(int sr, int tr1, int s, int t)

}

/*總體呼叫排序函式*/

void mergesort(sqlist *s)

int main(void)

bubble_sort0(l); //氣泡排序法

for(i = 0;ilength;i++)

#endif

*/ /*

//簡單排序法

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 0;i******_selection_sort(&l); //簡單排序法

for(i = 0;i*/

/* //直接插入排序演算法

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 1;istraight_insertion_sort(&l); //直接插入排序法

for(i = 1;i*/

/* //希爾排序

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 0;ishell_sort(&l); //希爾排序

for(i = 0;i*//*

//堆排序示例

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 0;iheap_sort(&l); //堆排序

for(i = 0;i*/

/* //快速排序示例

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 0;iquicksort(&l); //快速排序

for(i = 0;i*/ //歸併排序

sqlist l;

l.length = maxsize;

temp = l.length;

for(i = 0;iprintf("before sort.\n");

mergesort(&l); //歸併排序

for(i = 0;i}

七種排序演算法總結

根據排序過程中借助的主要操作,將7種內排序演算法按照下圖所示進行分類。將7種演算法的各種指標進行對比,如下表所示。從平均情況來看,顯然最後3種改進演算法要勝過希爾排序,並遠遠勝過前3種簡單演算法。從最好情況看,反而冒泡和直接插入排序要更勝一籌,也就是說,如果待排序列總是基本有序,反而不應該考慮四種複...

七種常用排序演算法總結

1.氣泡排序 bubble sort package com.zha.wmls.sort 氣泡排序 每一輪找出乙個最大的,放在最後面,穩定 時間複雜度為n 2 public class bubblesort long befortime system.currenttimemillis sort a...

七種定址方式

共7種定址方式 1.立即定址方式 立即數包含在指令中,作為指令的一部分。如 mov ax 1234h 2.暫存器定址方式 運算元在cpu內部的暫存器中,指令指定暫存器號 16位運算元,暫存器可以是 ax,bx,cx,dx,si,di,sp和bp 8位運算元,暫存器可以是 al,ah,bl,bh,cl...