(c++)数据结构与算法之七种排序

//插入排序*3
//交换排序*2
//简单选择排序
//归并排序
//数据:32 18 65 48 27 9
#include 
using namespace std;
void Show(int a[],int n)
{
    for(int j=0;j=0&&a[p]>temp)
        {
            a[p+1]=a[p];
            p--;
        }
        a[p+1]=temp;
    }
    for(int j=0;jtemp)
                rig=mid-1;
            else
                lef=mid+1;
        }
        for(int i=p-1;i>=lef;i--)
            a[i+1]=a[i];
        a[lef]=temp;
    }
    for(int j=0;j扩大分组+再排序
//当存在唯一分组(包含所有元素)时循环结束
void shellSort(int data[],int n)//希尔排序
{
    int a[n];
    for(int j=0;j=1)
    {
        for(int k=0;k=k&&a[j]>temp)
                {
                    a[j+d]=a[j];
                    j-=d;
                }
                a[j+d]=temp;
            }
        }
        d/=2;
    }
    for(int j=0;ja[j])
            {
                flag=1;
                int temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
        if(flag==0)     break;
    }
    for(int j=0;jpivot)
            rig--;
        data[lef]=data[rig];
        while(lefpivot)
            rig--;
        if(lef
简单地阐述了一下大概的过程,具体内部怎么实现以后有机会了再补吧!

你可能感兴趣的:(c++,数据结构与算法,直接插入,归并排序,希尔排序,数据结构与算法)