/*
八大排序算法_直接插入法.
//目标:排序实现从小到大排序或者从大到小.
*/
[C] 纯文本查看 复制代码 #include <stdio.h>
/*
八大排序算法_直接插入法.
//目标:排序实现从小到大排序.
*/
int main()
{
int cmp_int(int*, int*);//声明数据对比函数
int a[] = { 111,2,5653,4,999,6,222222,121,3,5698,46,1651,6,854,684,6,4165,163,51,351,35,16,4,86,4,684,68,46,546 }; //赋值一个数组存储测试数据;
int size_a = sizeof(a) / sizeof(a[0]) - 1;//可操作最大数组元素下标
int last_a = 0;
int cmp_arr = 0;
int cmp_now = 0;
for (int i = 1; i <= size_a; i++)
{
for (int k = 0; k < i; k++)
{
cmp_int(&(a[i]), &a[k]);
}
}
//打印数组
for (int k = 0; k <= size_a; k++)
{
printf("%d\n", a[k]);
}
return 0;
}
int cmp_int(int* mun1, int* mun2) {//交换数据
if (*mun2 > *mun1) //改变>< 符号 可以实现正逆排序
{
*mun1 = *mun1 ^ *mun2;
*mun2 = *mun1 ^ *mun2;
*mun1 = *mun1 ^ *mun2;
return 1;
}
return 0;
}
参考资料:
https://blog.csdn.net/yeahPeng11/article/details/117912723
|