c语言sort函数从大到小排序_带您进入Linux内核开发的大门 | 冒泡排序

1f0c0f8c87534daa29b88d14162eb45e.png

内核中的开发与用户态差异并不大,本文编写一个我们最常见到的冒泡排序算法,以说明该问题。

开发环境

为了避免将自己的操作系统搞挂,本文在虚拟机中进行开发,这样我们可以随便折腾。本文所用的环境信息如下。

操作系统:Ubuntu 16.04 Server版

内核版本:4.4.0-31

编译环境:gcc 5.4.0

主程序代码

如下为基于内核模块的冒泡排序,本文将其封装为一个函数,输入为数组。通过主程序代码可以看出,也就是通过普通C语言实现,与用户态程序并没有一点差异。这个函数可以拷贝到用户态程序中直接使用。关于冒泡排序的实现本文不再赘述,这里只是介绍一下基于内核的实现情况。

#include #include #include #include /*冒泡排序主程序,实现降序排序 */void bubble_sort(int *array, unsigned int size){ int i = 0; int j = 0; int temp = 0; for (i = 0; i < size; i++ ) {  for (j = 0; j < size - i - 1; j++) { if (array[j] < array[j + 1]) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } }  }}/* 用于打印数组成员 */void print_array(int *array, unsigned int size, char *prefix){ int i = 0; printk(KERN_NOTICE "%d: 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值