【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. 写一个函数,获取用户的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余字,预计阅读时间约40~60分钟 | 满满干货(附代码),建议收藏! 本文目标:通过LtM提示流程实现自动构建符合要求的函数,并通过实验逐步完整测试code_generate函数功能。 代码下载点这里 一、介绍 此篇文章为…...
【深入了解pytorch】PyTorch强化学习:强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法
【深入了解pytorch】PyTorch强化学习:强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法 PyTorch强化学习:介绍强化学习的基本概念、马尔可夫决策过程(MDP)和常见的强化学习算法引言强化学习的基本概念状态(State)动作(Action)奖励(Reward)策略(Pol…...
尚硅谷张天禹Vue2+Vue3笔记(待续)
简介 什么是Vue? 一套用于构建用户界面的渐进式JavaScript框架。将数据转变成用户可看到的界面。 什么是渐进式? Vue可以自底向上逐层的应用 简单应用:只需一个轻量小巧的核心库 复杂应用:可以引入各式各样的Vue插件 Vue的特点是什么? 1.采…...
深度学习(35)—— StarGAN(2)
深度学习(34)—— StarGAN(2) 完整项目在这里:欢迎造访 文章目录 深度学习(34)—— StarGAN(2)1. build model(1)generator(2&#…...
连续四年入选!三项荣耀!博云科技强势上榜Gartner ICT技术成熟度曲线
日,全球知名咨询公司Gartner发布了2023年度的《中国ICT技术成熟度曲线》(《Hype Cycle for ICT in China, 2023》,以下简称“报告”)。令人瞩目的是,博云科技在报告中荣获三项殊荣,入选云原生计算ÿ…...
Docker实战-操作Docker容器实战(一)
导语 在之前的分享中,我们介绍了关于如何去操作Docker镜像,下面我们来看看如何去操作容器。 简单来讲,容器是镜像运行的一个实例,与镜像不同的是镜像只能作为一个静态文件进行读取,而容器是可以在运行时进行写入操…...
c#设计模式-行为型模式 之 观察者模式
定义: 又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者 对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自 …...
开窗积累之学习更新版
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简介
本文为相关课程的学习记录,相关分析均来源于课程的讲解,主要学习音视频相关的操作,对字幕的处理不做分析 ffplay播放器的意义 ffplay.c是FFmpeg源码⾃带的播放器,调⽤FFmpeg和SDL API实现⼀个⾮常有⽤的播放器。 ffplay实现了播…...
mysql之limit语句详解
一、介绍 LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数。 二、使用 1. 语法格式 LIMIT [位置偏移量,] 行数 其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始ÿ…...
4.while循环
1、while语句的语法结构如下: while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。 1.1while语法结构 while(条件表达式){// 循环体} 执行思路: 1、执行思路 当条件表达式结果为tru…...
【雕爷学编程】 MicroPython动手做(35)——体验小游戏2
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
mouseover 和 mouseenter
mouseover 和 mouseenter 事件是 JavaScript 中常用的两个鼠标事件,它们有一些区别: 触发条件: mouseover 事件在鼠标指针从元素外部进入元素内部时触发,包括子元素。换句话说,只要鼠标进入元素或其子元素,就会触发 mo…...
[JavaScript游戏开发] 绘制Q版地图、键盘上下左右地图场景切换
系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 第四章 绘制Q版地图、键盘上下左右地图场景切换 文章目录 系列文章目录前言一、本章节…...
CI/CD持续集成持续发布(jenkins)
1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新…...
Qt5.14.2+QtCreator+PDB 查看源码
1. 在Creator添加源码 2. 安装PDB文件 Qt下载时没有整合最新的PDB文件下载,如果没有安装PDB文件,即使安装了src也无法调试。 双击MaintenanceTool.exe->设置->资料档案库->临时资料档案库->添加按钮,添加如下下载源:…...
DOM基础获取元素+事件基础+操作元素
一.DOM简介 DOM,全称“Document Object Model(文档对象模型)”,它是由W3C定义的一个标准。 在实际开发中,我们有时候需要实现鼠标移到某个元素上面时就改变颜色,或者动态添加元素或者删除元素等。其实这些效…...
MATLAB——感知神经网络学习程序
学习目标:从学习第一个最简单的神经网络案例开启学习之路 感知器神经网络 用于点的分类 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驱动API测试:原理、架构与工程实践
1. 项目概述:API测试的“瑞士军刀”MCP最近在梳理团队内部的API测试流程时,发现了一个挺有意思的项目:cocaxcode/api-testing-mcp。乍一看这个标题,可能很多朋友会有点懵,这“MCP”是个啥?其实,…...
大模型小白入门指南:3分钟读懂核心逻辑+高性价比产品推荐(建议收藏+转发)
大模型小白入门指南:3分钟读懂核心逻辑高性价比产品推荐(建议收藏转发) 本文通俗易懂地拆解了大众对大模型的三个常见误区,如“大模型高级聊天机器人”、“大模型会说谎”、“AI会取代人类”。通过比喻方式解释了大语言模型和多模…...
深入理解 C++ 智能指针:原理、实现与最佳实践
智能指针概述智能指针本质上是封装了裸指针的类,通过 RAII(资源获取即初始化)管理资源生命周期。常见智能指针:std::unique_ptr:独占所有权,不能复制,只能移动。std::shared_ptr:共享…...
基于Wechaty的插件化聊天机器人开发:从消息管道到指令系统
1. 项目概述与核心价值最近在折腾聊天机器人,特别是基于微信生态的自动化工具时,发现一个挺普遍的需求:如何让机器人更“聪明”地处理群聊里的各种指令和消息?很多开发者朋友都卡在消息路由、指令解析和状态管理这些繁琐的细节上&…...
数据结构--------单链表下
书接上回,本章主要讲的是单链表的头删,尾删,指定位置插入删除,链表的查找和链表的销毁;一.链表的操作1.头删文字描述如下:正所谓头删,删除的肯定是链表的头元素,但是我们要怎么样进行…...
风格参考不是贴图!Midjourney高级提示词工程全链路解析,从图像哈希提取、特征向量对齐到跨模型风格迁移适配
更多请点击: https://intelliparadigm.com 第一章:风格参考不是贴图!Midjourney高级提示词工程全链路解析,从图像哈希提取、特征向量对齐到跨模型风格迁移适配 风格的本质是可计算的语义分布 在 Midjourney v6 中,“…...
使用Taotoken模型广场为特定任务选择性价比最高的模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken模型广场为特定任务选择性价比最高的模型 当开发者需要为摘要、翻译、代码生成等具体任务接入大模型时,常…...
AI安全实战:构建AIGC内容检测与防御系统
1. 项目概述:当AI遇上网络安全最近在GitHub上看到一个挺有意思的项目,叫genaura-guard。光看名字,可能有点摸不着头脑,但如果你对AI生成内容(AIGC)和网络安全这两个领域有所关注,大概就能猜到它…...
AI Agent编排实战:OPC v5.0如何实现多智能体协作与工程化任务管理
1. 项目概述:一人公司的AI CEO最近在折腾AI Agent编排,发现了一个挺有意思的项目,叫OPC(One-Person Company)。简单来说,它不是一个独立的AI应用,而是一个给OpenClaw这个AI智能体平台用的“技能…...
5个理由告诉你为什么Karate是API测试自动化的终极解决方案
5个理由告诉你为什么Karate是API测试自动化的终极解决方案 【免费下载链接】karate Test Automation Made Simple 项目地址: https://gitcode.com/gh_mirrors/ka/karate Karate测试框架是一个革命性的开源工具,它将API测试、Mock服务、性能测试和UI自动化完美…...
