冒泡、插入、选择排序及二分法查找
冒泡排序
- 将两个相邻的元素比较 如果第一个数比第二个数大(小),就交换它们。
- 相邻的两个元素从第一对比较到最后一对。
- 循环比较,直到全部元素按顺序排列
void bubble_(myType *a,int high)//冒泡排序
{
int t = 0;
for (int i = 1; i < high; i++)
{
for (int j = 0; j < i; j++)
{
if (a[i]<=a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
插入排序
- 从未排好的序列中拿出首元素,并把它赋值给temp变量;
- 从排好的序列中,依次与temp进行比较,如果元素比temp大,则将元素后移(实际上放置temp的元素位置已经空出)
- 直到找到一个元素比temp小, 将temp放入该位置;
时间复杂度:o(n^2)
void insert(myType *a,int high)//插入排序
{
int i,j,t;
for (i = 1; i < high; ++i)
{
t = a[i];
for