嵌入式:C高级 Day4

一、整理思维导图

二、写一个函数,获取用户的uid和gid并使用变量接收

三、整理冒泡排序、简单选择排序和快速排序的代码 

冒泡排序

#include <myhead.h>void output(int arr[], int len);
void bubble_sort(int arr[], int len);int main(int argc, const char *argv[])
{int arr[] = {9, 6, 15, 11, 23, 14, 32, 12};int len = sizeof(arr) / sizeof(arr[0]);output(arr, len);bubble_sort(arr, len);output(arr, len);return 0;
}void bubble_sort(int arr[], int len){int count, temp;for(int i = 0; i < len; i++){count = 0;for(int j = 0; j < len - 1 - i; j++){if(arr[j] > arr[j + 1]){temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;count++;}}if(count == 0){break;}}
}void output(int arr[], int len){for(int i = 0; i < len; i++){printf("%d ", arr[i]);}puts("");
}

简单选择排序:

#include <myhead.h>void output(int arr[], int len);
void select_sort(int arr[], int len);int main(int argc, const char *argv[])
{int arr[] = {9, 6, 15, 11, 28, 25, 22, 37, 18};int len = sizeof(arr) / sizeof(arr[0]);output(arr, len);select_sort(arr, len);output(arr, len);return 0;
}void select_sort(int arr[], int len){int min, temp;for(int i = 0; i < len - 1; i++){min = i;for(int j = i + 1; j < len; j++){if(arr[min] > arr[j]){min = j;}}if(min != i){temp = arr[min];arr[min] = arr[i];arr[i] = temp;}}
}void output(int arr[], int len){for(int i = 0; i < len; i++){printf("%d ", arr[i]);}puts("");
}

快速排序:

#include <myhead.h>void output(int arr[], int len);
void quick_sort(int arr[], int low, int high);
int onesort(int arr[], int low, int high);int main(int argc, const char *argv[])
{int arr[] = {9, 6, 13, 11, 19, 25, 12, 37, 22};int len = sizeof(arr) / sizeof(arr[0]);output(arr, len);quick_sort(arr, 0, len - 1);output(arr, len);return 0;
}void quick_sort(int arr[], int low, int high){while(low >= high){return;}int mid = onesort(arr, low, high);quick_sort(arr, 0, mid - 1);quick_sort(arr, mid + 1, high);
}int onesort(int arr[], int low, int high){int key = arr[low];while(low < high){while(low < high && key <= arr[high]){high--;}arr[low] = arr[high];while(low < high && key >= arr[low]){low++;}arr[high] = arr[low];}arr[low] = key;return low;
}void output(int arr[], int len){for(int i = 0; i < len; i++){printf("%d ", arr[i]);}puts("");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

走出迷宫的最少步数and第一条出路

题面 题目描述 一个迷宫由 R 行 C 列格子组成&#xff0c;有的格子里有障碍物&#xff0c;不能走&#xff1b;有的格子是空地&#xff0c;可以走。 给定一个迷宫&#xff0c;求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走&#xff0c…

基础算法模板

数据结构 单链表的插入删除 const int N=1e6+10; int head,e[N],ne[N],idx; //head 存储头节点的下标 //idx 存储当前已经用到的那个点 void init() {head=-1;idx=0; } void add_to_head(int x)//插入头节点操作 {e[idx]=x;ne[idx]=head;head=idx;idx++; } void add(int k)/…

SED正则表达式中[方括号]的特殊处理

今天被这个方括号懵晕了&#xff0c;特此记录 例如&#xff1a; 去除输入字符串“1[2.3]4[ab,c]”中的所有方括号和逗号&#xff1a; $ echo "1[2.3]4[ab,c]"|sed -e "s/[,\]\[]//g" 1[2.3]4[ab,c] It doesnt work! 原因&#xff1a;Regular Expressi…

OPENCV C++(八)HOG的实现

hog适合做行人的识别和车辆识别 对一定区域的形状描述方法 可以表示较大的形状 把图像分成一个一个小的区域的直方图 用cell做单位做直方图 计算各个像素的梯度强度和方向 用3*3的像素组成一个cell 3*3的cell组成一个block来归一化 提高亮度不变性 常用SVM分类器一起使用…

Windows环境下Node.js二进制版安装教程

文章目录 前言一 下载Node.js二 设置环境变量三 配置全局安装和缓存路径四 设置仓库 前言 新版的Node.js已自带npm&#xff0c;就在Node.js下载完成解压后的文件内&#xff0c;的node_modules包中。 npm的作用&#xff1a;是对Node.js依赖的包进行管理&#xff0c;类似maven。…

如何构造一个安全的单例?

为什么要问这个问题&#xff1f; 我们知道&#xff0c;单例是一种很常用的设计模式&#xff0c;主要作用就是节省系统资源&#xff0c;让对象在服务器中只有一份。但是实际开发中可能有很多人压根没有写过单例这种模式&#xff0c;只是看过或者为了面试去写写demo熟悉一下。那…

C语言代码的x86-64汇编指令分析过程记录

先通过Xcode创建一个terminal APP&#xff0c;语言选择C。代码如下&#xff1a; #include <stdio.h>int main(int argc, const char * argv[]) {int a[7]{1,2,3,4,5,6,7};int *ptr (int*)(&a1);printf("%d\n",*(ptr));return 0; } 在return 0处打上断点&…

Linux usb设备固定端口号

Linux usb设备固定端口号 一:/sys/bus/usb/devices/二:设备信息三:固定usb设备名方法 一:/sys/bus/usb/devices/ 信息显示如下 1-0:1.0 1&#xff1a;表示 1 号总线&#xff0c;或者说 1 号 Root Hub0&#xff1a;表示端口号1&#xff1a;表示配置号0&#xff1a;表示接口号命…

错过NFT投资,你可能会后悔吗?

在过去的几年里&#xff0c;非同质化代币&#xff08;NFT&#xff09;以其独特性和创新性&#xff0c;迅速成为数字资产领域的热门话题。NFT代表了数字资产的所有权和独特性&#xff0c;为艺术、音乐、游戏和虚拟世界等领域提供了全新的可能性。然而&#xff0c;对于那些错过了…

Vue中实现Web端鼠标横向滑动和触控板滑动效果

系列文章目录 文章目录 系列文章目录前言一、鼠标横向滑动效果二、触控板滑动效果总结 前言 在Web端&#xff0c;我们经常需要实现鼠标横向滑动和触控板滑动的效果&#xff0c;以便在页面中展示横向滑动的内容。本文将介绍如何使用Vue和JavaScript来实现这两种效果&#xff0c…

冠达管理投资前瞻:三星加码机器人领域 大信创建设提速

上星期五&#xff0c;沪指高开高走&#xff0c;盘中一度涨超1%打破3300点&#xff0c;但随后涨幅收窄&#xff1b;深成指、创业板指亦强势震动。截至收盘&#xff0c;沪指涨0.23%报3288.08点&#xff0c;深成指涨0.67%报11238.06点&#xff0c;创业板指涨0.95%报2263.37点&…

gin框架学习

文章目录 配置go环境实现一个简单的web响应服务验证功能gin增加页面以及传递数据 配置go环境 去go官网下载对应的版本 go下载地址 tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz 我们可以编辑 ~/.bash_profile 或者 /etc/profile&#xff0c;并将以下命令添加该文件的末…

【排序算法】python之冒泡,选择,插入,快速,归并

参考资料&#xff1a; 《Python实现5大排序算法》《六大排序算法&#xff1a;插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序》 --代码似乎是C语言 ———————— 本文介绍5种常见的排序算法和基于Python实现&#xff1a; 冒泡排序&#xff08;Bubble Sort&am…

pocky-request网络请求插件

插件下载地址&#xff1a;https://ext.dcloud.net.cn/plugin?id468 插件&#xff1a;https://www.yuque.com/pocky/aaeyux/irx7u0#Oosbz 使用教程&#xff1a; 下载插件main.js中配置&#xff1a; // 导入 import axiosRequest from ./js_sdk/pocky-request/pocky-request…

Ansible Rsync 使用Ansible Rsync模块进行文件传输

在Ansible自动化工具中&#xff0c;Rsync模块&#xff08;Rsync Module&#xff09;是一个强大的组件&#xff0c;用于在Ansible控制节点和目标主机之间进行文件传输和同步。本文将深入探讨Ansible Rsync模块&#xff0c;了解它如何成为自动化任务中高效同步的自动化利器。 Ans…

mysql 的 操作内容:sql语句,优化策略,锁,一致性等?

三种语句类型&#xff1a;DDL、DML、DQL: DDL&#xff1a;对表、聚簇、索引、视图、函数、存储过程和触发器等等关键字&#xff1a;Drop Create Truncat ALTER DML : 对表中元素的 增删改 INSERT DELETE UPDATE DQL : 查询语句 SELECT MySQL 三万字精华总结 面试100 问&am…

鉴源实验室丨SOME/IP协议安全攻击

作者 | 张昊晖 上海控安可信软件创新研究院工控网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 引 言 随着汽车行业对于数据通信的需求不断增加&#xff0c;SOME/IP作为支持汽车以太网进程和设备间通信的一种通信协议应…

【Git】Git切换地址

如何切换git代码地址&#xff1f; 1、查看当前远程 url git remote -v执行命令后&#xff0c;可以看见当前有2个URL。 远程 URL 在一般情况下有两个&#xff0c;分别是 fetch 和 push。 fetch URL 是用于从远程仓库获取最新版本的数据。当您运行 git fetch 命令时&#xf…

Java课题笔记~ AOP编程术语(掌握)

&#xff08;1&#xff09; 切面&#xff08;Aspect&#xff09; 切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知&#xff08;Advice&#xff09;。实际就是对主业务逻辑的一种增强。 &#xff08;2&#xff09; 连接点&#xff08;Jo…

Oracle-ORA-00600:[ktspffbmb:objdchk_kcbnew_3]

问题背景: 应用执行存储过程报错ORA-00600: 内部错误代码, 参数: [ktspffbmb:objdchk_kcbnew_3], [0], [3303775], [4], [], [], [], [], [], [], [], []&#xff0c;导致过程无法正常执行 ORA-00600: 内部错误代码, 参数: [ktspffbmb:objdchk_kcbnew_3], [0], [3303775], [4]…