设为首页收藏本站 |天气与日历| 2025-07-01 星期二 16:31:00 (建党节) 乙巳(蛇)年 六月初七 申时
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 237|回复: 0

八大排序法_直接插入法

[复制链接]

954

主题

954

帖子

3879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3879
发表于 2022-1-3 21:33:07 | 显示全部楼层 |阅读模式
/*
八大排序算法_直接插入法.
//目标:排序实现从小到大排序或者从大到小.
*/
[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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-7-1 16:31 , Processed in 0.089188 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表