您的位置:首页 > 其它

各种排序算法的总结

2012-05-08 09:20 393 查看
概要:

这是本人以前学习数据结构时,写的一些排序算法。今天整理一下,方便以后查阅。

本文实现的排序算法包括:直接插入排序、折半插入排序、2路插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序

一、具体实现

关于各算法的特点和思想原理,本文不作介绍,需要了解的,可查阅数据结构书籍,或直接google

主函数main

void main()
{
//    int a[max]={4,4,9,5,17,6,20,45,30,54,25};
int a[max]={3,13,56,34,14,46,34,6,9,56,20};
printf("直接插入排序\n\n请输入 %d 个待排序的整数:\n",max);

int i;
//     for (i=0;i<max;i++)
//     {
//         scanf("%d",&a[i]);
//     }

printf("\n\n原始数据   待排序的整数为:\n");
for ( i=0;i<max;i++)
{
printf("%d\t",a[i]);
}

//    InsertSort(a,max);
//    BInsertSort(a,max);
//    P2_InsertSort(a,max);
//    ShellSort_2(a,max);
//    BubbleSort(a,max);
QuickSort_2(a,0,max-1);
//    QS(a,max);
//    SelectSort(a,max);
//    HeapSort(a,max);
//    MSort(a,0,max-1);
//    Msort_NRecur(a,max);

printf("\n直接插入排序,结果为:\n");
for ( i=0;i<max;i++)
{
printf("%d\t",a[i]);
}

}


二、总结

实现一遍后,对各算法都理解了。不知为啥,项目中一碰到要排序,立马就是冒泡!why?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: