数据结构排序思想和算法分析(java版)一、排序的概念:1、设 n 个记录的序列为 R1 , R2 , R3 , . . . , Rn 其相应的关键字序列为 K1 , K2 , K3 , . . . , Kn 若规定 1 , 2 , 3 , . . . , n 的一个排列 p1 , p2 , p3 , . . . , pn ,使得相应的关键字满足如下非递减关系:Kp1 Kp2 Kp3 . . . Kpn则原序列变为一个按关键字有序的序列:Rp1 , Rp2 , Rp3 , . . . , Rpn此操作过程称为排序。2、排序问题一般分为内排序( internal sorting )和外排序( external sorting )两类:2.1. 内排序:待排序的表中记录个数较少,整个排序过程中所有的记录都可以保留在内存中;按照排序过程中所依据的原则的不同可以分类为: 插入排序(直接插入排序、折半插入排序、希尔排序) 交换排序(快速排序) (冒泡泡排序、快速排序) 选择排序(直接选择排序、堆排序