当前位置: 首页 > news >正文

【C高级】Day4 shell脚本 排序

 

 1. 整理思维导图

 

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

#!/bin/bash
function getid()
{uid=`id -u`gid=`id -g`
}getid  
echo "uid=$uid"
echo "gid=$gid"

 

3. 整理冒泡排序、选择排序和快速排序的代码

#include <myhead.h>void Input(int *p,int len)
{for(int i=0;i<len;i++){printf("请输入第%d个元素:",i+1);scanf("%d",p+i);}
}void Output(int *p,int len)
{for(int i=0;i<len;i++){printf("%d\t",*(p+i));}putchar(10);
}//选择排序 
void Seletion_Sort(int *p,int len)
{int min,t;for(int i=0;i<len-1;i++){min=i;for(int j=i+1;j<len;j++){if(*(p+min)>*(p+j)){min=j;}}if(min!=i){t=*(p+min);*(p+min)=*(p+i);*(p+i)=t;}}
}//冒泡排序
void Bubble_Sort(int *p,int len)
{int temp,count;for(int i=0;i<len-1;i++){count=0;for(int j=0;j<len-1-i;j++){if(*(p+j)>*(p+j+1)){temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;count++;}}if(count==0)  break;}
}//快速排序
int one_quick(int arr[],int low,int high)
{int key = arr[low];  //确定分界值while(low<high){while(low<high && key<=arr[high]){high--;}arr[low]=arr[high];  //表示key>arr[high]while(low<high && key>=arr[low]){low++;}arr[high]=arr[low];}arr[low]=key;  //low=highreturn low;
}void quick_sort(int arr[],int low,int high)
{//low>high:表示没有元素//low=high:表示只有一个元素if(low>=high) return;int mid=one_quick(arr,low,high);  //一轮排序quick_sort(arr,low,mid-1);   //递归左边排序quick_sort(arr,mid+1,high);  //递归右边排序
}int main(int argc, const char *argv[])
{	
//	int a[]={66,66,99,88,33,22,44,55};
//	int len=sizeof(arr)/sizeof(arr[0]);int len;printf("请输入元素的个数:");scanf("%d",&len);int a[len];Input(a,len);//  冒泡排序
//	Bubble_Sort(a,len);//  快速排序
//	Seletion_Sort(a,len);	//  快速排序quick_sort(a,0,len-1);Output(a,len);return 0;
}

相关文章:

【C高级】Day4 shell脚本 排序

1. 整理思维导图 2. 写一个函数&#xff0c;获取用户的uid和gid并使用变量接收 #!/bin/bash function getid() {uidid -ugidid -g }getid echo "uid$uid" echo "gid$gid"3. 整理冒泡排序、选择排序和快速排序的代码 #include <myhead.h>void Inp…...

大模型开发(十六):从0到1构建一个高度自动化的AI项目开发流程(中)

全文共1w余字&#xff0c;预计阅读时间约40~60分钟 | 满满干货(附代码)&#xff0c;建议收藏&#xff01; 本文目标&#xff1a;通过LtM提示流程实现自动构建符合要求的函数&#xff0c;并通过实验逐步完整测试code_generate函数功能。 代码下载点这里 一、介绍 此篇文章为…...

【深入了解pytorch】PyTorch强化学习:强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法

【深入了解pytorch】PyTorch强化学习:强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法 PyTorch强化学习:介绍强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法引言强化学习的基本概念状态(State)动作(Action)奖励(Reward)策略(Pol…...

尚硅谷张天禹Vue2+Vue3笔记(待续)

简介 什么是Vue&#xff1f; 一套用于构建用户界面的渐进式JavaScript框架。将数据转变成用户可看到的界面。 什么是渐进式&#xff1f; Vue可以自底向上逐层的应用 简单应用:只需一个轻量小巧的核心库 复杂应用:可以引入各式各样的Vue插件 Vue的特点是什么&#xff1f; 1.采…...

深度学习(35)—— StarGAN(2)

深度学习&#xff08;34&#xff09;—— StarGAN&#xff08;2&#xff09; 完整项目在这里&#xff1a;欢迎造访 文章目录 深度学习&#xff08;34&#xff09;—— StarGAN&#xff08;2&#xff09;1. build model&#xff08;1&#xff09;generator&#xff08;2&#…...

连续四年入选!三项荣耀!博云科技强势上榜Gartner ICT技术成熟度曲线

日&#xff0c;全球知名咨询公司Gartner发布了2023年度的《中国ICT技术成熟度曲线》&#xff08;《Hype Cycle for ICT in China, 2023》&#xff0c;以下简称“报告”&#xff09;。令人瞩目的是&#xff0c;博云科技在报告中荣获三项殊荣&#xff0c;入选云原生计算&#xff…...

Docker实战-操作Docker容器实战(一)

导语   在之前的分享中&#xff0c;我们介绍了关于如何去操作Docker镜像&#xff0c;下面我们来看看如何去操作容器。 简单来讲&#xff0c;容器是镜像运行的一个实例&#xff0c;与镜像不同的是镜像只能作为一个静态文件进行读取&#xff0c;而容器是可以在运行时进行写入操…...

c#设计模式-行为型模式 之 观察者模式

定义&#xff1a; 又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者 对象同时监听某一个主题对象。这个主题对象在状态变化时&#xff0c;会通知所有的观察者对象&#xff0c;使他们能够自 …...

开窗积累之学习更新版

1. 开窗使用1之 count range between current row and current row 将相同排序字段的值进行函数计算 selectsku_id,substr(create_date,1,7) date_month,order_id,create_date,sku_num*price,sum(sku_num*price) over (partition by sku_id order by substr(create_date,1,7)…...

ffplay简介

本文为相关课程的学习记录&#xff0c;相关分析均来源于课程的讲解&#xff0c;主要学习音视频相关的操作&#xff0c;对字幕的处理不做分析 ffplay播放器的意义 ffplay.c是FFmpeg源码⾃带的播放器&#xff0c;调⽤FFmpeg和SDL API实现⼀个⾮常有⽤的播放器。 ffplay实现了播…...

mysql之limit语句详解

一、介绍 LIMIT是MySQL内置函数&#xff0c;其作用是用于限制查询结果的条数。 二、使用 1. 语法格式 LIMIT [位置偏移量,] 行数 其中&#xff0c;中括号里面的参数是可选参数&#xff0c;位置偏移量是指MySQL查询分析器要从哪一行开始显示&#xff0c;索引值从0开始&#xff…...

4.while循环

1、while语句的语法结构如下&#xff1a; while语句可以在条件表达式为真的前提下&#xff0c;循环执行指定的一段代码&#xff0c;直到表达式不为真时结束循环。 1.1while语法结构 while(条件表达式){// 循环体} 执行思路&#xff1a; 1、执行思路 当条件表达式结果为tru…...

【雕爷学编程】 MicroPython动手做(35)——体验小游戏2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

mouseover 和 mouseenter

mouseover 和 mouseenter 事件是 JavaScript 中常用的两个鼠标事件&#xff0c;它们有一些区别&#xff1a; 触发条件: mouseover 事件在鼠标指针从元素外部进入元素内部时触发&#xff0c;包括子元素。换句话说&#xff0c;只要鼠标进入元素或其子元素&#xff0c;就会触发 mo…...

[JavaScript游戏开发] 绘制Q版地图、键盘上下左右地图场景切换

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 第四章 绘制Q版地图、键盘上下左右地图场景切换 文章目录 系列文章目录前言一、本章节…...

CI/CD持续集成持续发布(jenkins)

1.背景 在实际开发中&#xff0c;我们经常要一边开发一边测试&#xff0c;当然这里说的测试并不是程序员对自己代码的单元测试&#xff0c;而是同组程序员将代码提交后&#xff0c;由测试人员测试&#xff1b; 或者前后端分离后&#xff0c;经常会修改接口&#xff0c;然后重新…...

Qt5.14.2+QtCreator+PDB 查看源码

1. 在Creator添加源码 2. 安装PDB文件 Qt下载时没有整合最新的PDB文件下载&#xff0c;如果没有安装PDB文件&#xff0c;即使安装了src也无法调试。 双击MaintenanceTool.exe->设置->资料档案库->临时资料档案库->添加按钮&#xff0c;添加如下下载源&#xff1a…...

DOM基础获取元素+事件基础+操作元素

一.DOM简介 DOM&#xff0c;全称“Document Object Model&#xff08;文档对象模型&#xff09;”&#xff0c;它是由W3C定义的一个标准。 在实际开发中&#xff0c;我们有时候需要实现鼠标移到某个元素上面时就改变颜色&#xff0c;或者动态添加元素或者删除元素等。其实这些效…...

MATLAB——感知神经网络学习程序

学习目标&#xff1a;从学习第一个最简单的神经网络案例开启学习之路 感知器神经网络 用于点的分类 clear all; close all; P[0 0 1 1;0 1 0 1]; %输入向量 T[0 1 1 1]; %目标向量 netnewp(minmax(P),1,hardlim,lea…...

SpringBoot中事务失效的原因

SpringBoot中事务失效的原因 文章目录 SpringBoot中事务失效的原因一、事务方法非public修饰二、非事务方法调用事务方法三、事务方法的异常被捕获四、事务异常类型不对五、事务传播行为不对六、没有被Spring管理6.1、暴漏代理对象6.2、使用代理对象 常见的事务失效原因包括如下…...

基于MCP协议构建AI代码评审服务器:从原理到CI/CD集成实战

1. 项目概述&#xff1a;一个为代码评审而生的MCP服务器最近在折腾如何把代码评审这件事做得更高效、更自动化。相信很多开发团队都面临过类似的困境&#xff1a;代码提交后&#xff0c;要么是评审者时间有限&#xff0c;只能匆匆扫一眼&#xff1b;要么是评审意见过于零散&…...

李辉《曾国藩日记》笔记:人到晚年,最重保全!

李辉《曾国藩日记》笔记&#xff1a;人到晚年&#xff0c;最重保全&#xff01;原文&#xff1a;同治三年五月二十日早饭后清理文件。见客&#xff0c;坐见者二次&#xff0c;立见者一次。程希辕来&#xff0c;围棋二局&#xff0c;又观程与鲁秋航一局。习字一纸。巳刻见客二次…...

番茄小说下载器完整指南:如何快速搭建个人离线图书馆

番茄小说下载器完整指南&#xff1a;如何快速搭建个人离线图书馆 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否厌倦了每次阅读小说都要依赖网络&#xff1f;是否想要将…...

基于RAG的代码语义搜索:用自然语言对话你的Git仓库

1. 项目概述&#xff1a;当代码库遇上对话式AI如果你是一名开发者&#xff0c;每天都要和Git仓库打交道&#xff0c;那么你一定遇到过这样的场景&#xff1a;面对一个庞大或陌生的代码库&#xff0c;想快速了解某个功能的实现逻辑&#xff0c;或者想找到一段特定的代码&#xf…...

云原生CLI工具Atlasclaw:统一多集群管理与容器镜像操作

1. 项目概述&#xff1a;一个为云原生环境打造的“瑞士军刀”最近在折腾云原生环境下的自动化运维和资源管理&#xff0c;发现很多工具要么太重&#xff0c;要么功能太单一&#xff0c;总感觉缺那么一把趁手的“瑞士军刀”。直到我遇到了CloudChef/atlasclaw这个项目&#xff0…...

铁路光纤熔接机推荐:鼎讯 TY-30H 性能参数与应用场景

在铁路与高速公路通信建设中&#xff0c;光纤熔接质量直接决定信号传输稳定性。鼎讯 TY-30H 光纤熔接机作为专为野外严苛工况设计的熔接设备&#xff0c;凭借高效、低耗、耐用的综合性能&#xff0c;成为铁路高速通信施工、日常维护及应急抢修的核心设备。一、鼎讯 TY-30H 光纤…...

ARM PMU性能监控单元架构与实战指南

1. ARM PMU性能监控单元架构解析性能监控单元(Performance Monitoring Unit, PMU)是现代处理器中用于硬件性能分析的关键组件&#xff0c;尤其在ARM架构中扮演着至关重要的角色。作为芯片级的性能监测工具&#xff0c;PMU允许开发者直接访问底层硬件事件计数器&#xff0c;为性…...

科技早报晚报|2026年5月14日:调试工作台、Agent 证据格式与多智能体编排,今晚更值得做成产品的 3 个技术机会

科技早报晚报&#xff5c;2026年5月14日&#xff1a;调试工作台、Agent 证据格式与多智能体编排&#xff0c;今晚更值得做成产品的 3 个技术机会 一句话导读&#xff1a;今晚真正值得看的&#xff0c;不是又一个“更会写代码”的 Agent&#xff0c;而是 AI 工具链开始补上的三块…...

Claude-Crowed项目深度解析:构建高效AI应用的工具调用与流式响应实践

1. 项目概述与核心价值最近在折腾一些AI应用开发&#xff0c;发现一个挺有意思的项目&#xff0c;叫claude-crowed。这名字乍一看有点怪&#xff0c;像是“Claude”和“crowd”&#xff08;人群&#xff09;的混合体。简单来说&#xff0c;它是一个旨在让开发者能够更便捷地调用…...

基于cursor-maker构建可复用AI指令模板,提升开发效率与代码一致性

1. 项目概述&#xff1a;一个为开发者赋能的AI代码生成工具如果你是一名开发者&#xff0c;尤其是经常在VSCode里写代码的朋友&#xff0c;那么对Cursor这款集成了AI能力的编辑器一定不陌生。它最大的魅力在于&#xff0c;你可以用自然语言描述你的需求&#xff0c;AI就能帮你生…...