希尔排序,快排,冒泡排序,双向冒泡排序,各排序算法复杂度和稳定性

1.希尔排序

先选定一个小于N的整数gap作为第一增量,然后将所有距离为gap的元素分在同一组,并对每一组的元素进行直接插入排序。然后再取一个比第一增量小的整数作为第二增量,重复上述操作直到增量的大小减到1时,就相当于整个序列被分到一组,进行一次直接插入排序,排序完成。
希尔排序,快排,冒泡排序,双向冒泡排序,各排序算法复杂度和稳定性_第1张图片

void shell_sort(int arr[],int n)
{
   
    int i, j, tmp;
    int step;
	int sum = 

你可能感兴趣的:(数据结构算法精解,算法,排序算法,数据结构,c++)