C++中常用的几种排序方式

最好情况下

  • 冒泡排序

    图解:
    C++中常用的几种排序方式_第1张图片

    代码
    void bubble_sort(T arr[], int len)
    {
        int i, j;  T temp;
        for (i = 0; i < len - 1; i++)
            for (j = 0; j < len - 1 - i; j++)
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
    }
  • 插入排序
    图解:
    C++中常用的几种排序方式_第2张图片
    代码:
    void InsertSort1(int A[],int n)
    {
    	int i,j,temp;
    	for(i=1;i=0&&A[j]>temp;--j)
                {
    				A[j+1]=A[j];
    			}
    			A[j+1]=temp;
    		}
    	}
    }

 平均情况下

  • 快速排序
    图解:
    C++中常用的几种排序方式_第3张图片代码:
    void Quick_sort(int left,int right,int arr[])
    {
    	if(left>=right)
        return;
    	int i,j,base,temp;
    	i=left,j=right;
    	base=arr[left];
    	while(i=base && i
    最坏情况下
  • 堆排序
    (等进神教我之后再填坑)
     
  • 归并排序
    C++中常用的几种排序方式_第4张图片
    代码:
    void merge(int low,int mid,int high)
    {
    	int i=low,j=mid+1,k=low;
    	while (i<=mid && j<=high)
    	{
    		if (a[i]=y) return;
    	int mid=(x+y)/2;
    	mergesort(x,mid);
    	mergesort(mid+1,y);
    	merge(x,mid,y);
    }
    

你可能感兴趣的:(笔记,c++,排序算法,算法)