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

50、PHP 实现选择排序

题目: PHP 实现选择排序

描述:

  • n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:
  • (1)初始状态:无序区为R[1…n],有序区为空。
  • (2)第1趟排序
  • 在无序区R[1…n]中选出关键字最小的记录R[k],
  • 将它与无序区的第1个记录R[1]交换,
  • 使R[1…1]和R[2…n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。
    * ……
  • (3)第i趟排序
  • 第i趟排序开始时,当前有序区和无序区分别为R[1…i-1]和Ri…n。
  • 该趟排序从当前无序区中选出关键字最小的记录R[k],
  • 将它与无序区的第1个记录R[i]交换,
  • 使R[1…i]和R[i+1…n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。
  • 这样,n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果。
    */
function selectSort(array $list)
{$length = count($list);for($i = 0; $i < $length; $i++){$key = $i;for($j = $i + 1; $j < $length; $j++){if($list[$j] < $list[$key]){$key = $j;}}$temp = $list[$key];$list[$key] = $list[$i];$list[$i] = $temp;}return $list;
}$list = array(3, 6, 2, 4, 10, 1 ,9, 8, 5, 7);
var_dump(selectSort($list));/*** 分析:* 原数组:[ 3 ,6 ,2 ,4 ,10 ,1 ,9 ,8 ,5 ,7 ]* key:5* [ 1 ,6 ,2 ,4 ,10 ,3 ,9 ,8 ,5 ,7 ]* key:2* [ 1 ,2 ,6 ,4 ,10 ,3 ,9 ,8 ,5 ,7 ]* key:5* [ 1 ,2 ,3 ,4 ,10 ,6 ,9 ,8 ,5 ,7 ]* key:3* [ 1 ,2 ,3 ,4 ,10 ,6 ,9 ,8 ,5 ,7 ]* key:8* [ 1 ,2 ,3 ,4 ,5 ,6 ,9 ,8 ,10 ,7 ]* key:5* [ 1 ,2 ,3 ,4 ,5 ,6 ,9 ,8 ,10 ,7 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,10 ,9 ]* key:7* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,10 ,9 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]* key:9* [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]*  */

相关文章:

50、PHP 实现选择排序

题目&#xff1a; PHP 实现选择排序 描述&#xff1a; n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果&#xff1a;(1)初始状态&#xff1a;无序区为R[1…n]&#xff0c;有序区为空。(2)第1趟排序在无序区R[1…n]中选出关键字最小的记录R[k]&#xff0c;将…...

17.延迟队列

介绍 延迟队列&#xff0c;队列内部是有序的&#xff0c;延迟队列中的元素是希望在指定时间到了以后或之前取出和处理。 死信队列中&#xff0c;消息TTL过期的情况其实就是延迟队列。 使用场景 1.订单在十分钟内未支付则自动取消。 2.新创建的店铺&#xff0c;如果十天内没…...

KCache-go本地缓存,支持本地缓存过期、缓存过期自维护机制。

GitHub - kocor01/kcache: go 本地缓存解决方案&#xff0c;支持本地缓存过期、缓存过期自维护机制。 最近系统并发很高&#xff0c;单接口10W的 QPS&#xff0c;对 redis 压力很大&#xff0c;大量的热KEY导致 redis 分片CPU资源经常告警。计划用 go 本地缓存缓解 redis 的压…...

斯坦福UE4 C++课学习补充 14:UMG-优化血量条

文章目录 一、优化执行效率二、简单脉冲动画 一、优化执行效率 绑定事件需要每一帧检查绑定对象是否有变化&#xff0c;势必造成CPU资源的浪费&#xff0c;因此优化执行效率的思路是&#xff1a;UI组件不再自行每帧查询血量&#xff0c;而是让血量自己在发生变化的同时通知UI进…...

在生信分析中大家需要特别注意的事情​

在生信分析中大家需要特别注意的事情 标准的软件使用和数据分析流程 1. 先看我的b站教学视频 2. 先从我的百度网盘把演示数据集下载下来&#xff0c;先把要运行的模块的演示数据集先运行一遍 3. 前两步都做完了&#xff0c;演示数据集也运行成功了&#xff0c;并且知道了软件…...

Java工厂模式详解:方法工厂模式与抽象工厂模式

Java工厂模式详解&#xff1a;方法工厂模式与抽象工厂模式 一、引言 在Java开发中&#xff0c;设计模式是解决常见软件设计问题的一种有效方式。工厂模式作为创建型设计模式的一种&#xff0c;提供了灵活的对象创建机制&#xff0c;有助于降低代码的耦合度&#xff0c;提高系…...

springSecurity学习之springSecurity用户单设备登录

用户只能单设备登录 有时候在同一个系统中&#xff0c;只允许一个用户在一个设备登录。 之前的登陆者被顶掉 将最大会话数设置为1就可以保证用户只能同时在一个设备上登录 Override protected void configure(HttpSecurity http) throws Exception {http..anyRequest().aut…...

微信小程序实现聊天界面,发送功能

.wxml <scroll-view scroll-y"true" style"height: {{windowHeight}}px;"><view wx:for"{{chatList}}" wx:for-index"index" wx:for-item"item" style"padding-top:{{index0?30:0}}rpx"><!-- 左…...

【强化学习的数学原理】课程笔记--5(值函数近似,策略梯度方法)

目录 值函数近似一个例子TD 算法的值函数近似形式Sarsa, Q-learning 的值函数近似形式Deep Q-learningexperience replay 策略梯度方法&#xff08;Policy Gradient&#xff09;Policy Gradient 的目标函数目标函数 1目标函数 2两种目标函数的同一性 Policy Gradient 目标函数的…...

前端Long类型精度丢失:后端处理策略

文章目录 精度丢失的具体原因解决方法1. 使用 JsonSerialize 和 ToStringSerializer2. 使用 JsonFormat 注解3. 全局配置解决方案 结论 开发商城管理系统的品牌管理界面时&#xff0c;发现一个问题&#xff0c;接口返回品牌Id和页面展示的品牌Id不一致&#xff0c;如接口返回的…...

C++ | Leetcode C++题解之第300题最长递增子序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int lengthOfLIS(vector<int>& nums) {int len 1, n (int)nums.size();if (n 0) {return 0;}vector<int> d(n 1, 0);d[len] nums[0];for (int i 1; i < n; i) {if (nums[i] > d[len])…...

springboo 整合 redis

springBoot 整合 redis starter启动依赖。—包含自动装配类—完成相应的装配功能。 引入依赖 <!--引入了redis整合springboot 的依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis&…...

dpdk编译安装以及接收udp报文(基于ubuntu)

目录 1、编译 2、设置运行环境 3、使用dpdk接收udp报文 3.1、设置发送端arp信息 3.2、测试 3.3、代码 4、其他 1、编译 代码下载&#xff1a; DPDK 下载版本&#xff1a;DPDK 19.08.2 export RTE_SDK/root/dpdk-stable-19.08.2/ export RTE_TARGETx86_64-native-li…...

【计算机网络】OSPF单区域实验

一&#xff1a;实验目的 1&#xff1a;掌握在路由器上配置OSPF单区域。 2&#xff1a;学习OSPF协议的原理&#xff0c;及其网络拓扑结构改变后的变化。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。…...

Java聚合快递小程序对接云洋系统程序app源码

​一场物流效率的革命 引言&#xff1a;物流新时代的序章 在数字化浪潮席卷各行各业的今天&#xff0c;物流行业也迎来了前所未有的变革。为了进一步提升物流效率&#xff0c;优化用户体验&#xff0c;聚合快递系统与云洋系统小程序的对接成为了行业内外关注的焦点。这一创新…...

【React】详解组件通信:从基础到进阶的全面指南

文章目录 一、父组件向子组件传递数据1. 基本概念2. 示例代码3. 详解定义子组件 Son定义父组件 App导出父组件 App数据流props 的内容 二、子组件向父组件传递数据1. 基本概念2. 示例代码3. 详解引入React库和useState钩子定义子组件 Son定义父组件 App导出父组件 App数据流 三…...

【vluhub】zabbix漏洞

介绍&#xff1a; zabbix是对服务器资源状态例如、内存空间、CPU、程序运行状态进行检测、设置预警值、短信设置等功能等一款开源工具。配置不当存在未授权,SQL注入漏洞 弱口令 nameadmin&passwordzabbix nameguest&password POST /index.php HTTP/1.1 Host: 192.1…...

openGauss触发器详解

openGauss 是一款开源关系型数据库管理系统&#xff0c;广泛应用于企业级应用中。随着数据量的增长和业务逻辑的复杂化&#xff0c;数据库管理和操作的自动化需求越来越高。触发器&#xff08;Triggers&#xff09;作为数据库中重要的编程工具&#xff0c;能够极大地简化复杂操…...

抄作业-跟着《React通关秘籍》捣鼓React-playground-上集

文章目录 前言1. 搭建react 开发环境2、react hooks 知识3. 目标&#xff1a;跟着小册实现 react-playground3.1 整体布局初始化项目使用Alloment 来实现左右分屏的拖拉功能 3.2 代码编辑器Monaco Editor 3.3 实现了多文件的切换用 useContext 来共享数据。优化 tab的样式&…...

80后最后的书信 年代

当时11亿人口只有1.8万部固定电话 中国几千年来 鱼传尺素 雁寄鸿书 写信最后要写 亲啓 如有照片&#xff0c;封面要写内有照片&#xff0c;请勿折叠 信的开头应该是 见字如面&#xff0c;展信舒颜 如果拜托别人做事情&#xff0c;最后要写为盼 最后要写 某某草 书未尽…...

ScintillaNET:打造专业级代码编辑器的终极Windows Forms解决方案

ScintillaNET&#xff1a;打造专业级代码编辑器的终极Windows Forms解决方案 【免费下载链接】ScintillaNET A Windows Forms control, wrapper, and bindings for the Scintilla text editor. 项目地址: https://gitcode.com/gh_mirrors/sc/ScintillaNET ScintillaNET是…...

STL---stack/queue/deque/priority_queue详解(从使用到底层)

前言string&#xff0c;vector&#xff0c;list等容器&#xff0c;都在我的C专栏里有收录&#xff0c;重复的接口相似的使用我就不再过多介绍了&#xff0c;大家可以去我的C专栏里看string那篇文章&#xff0c;基本的使用写的比较详细。本文的重点在于讲解底层。stack和queue的…...

用STM32F411和CLion从零搭建三轮全向小车:PID调参、VOFA+上位机调试全记录

用STM32F411和CLion从零搭建三轮全向小车&#xff1a;PID调参、VOFA上位机调试全记录 第一次接触全向轮机器人时&#xff0c;我被它灵活的运动方式深深吸引——不同于传统轮式机器人&#xff0c;它能实现任意方向的平移和旋转。这种独特的移动能力在狭小空间作业、仓储物流等领…...

GLM-4v-9b行业落地:跨境电商商品图多语言描述生成自动化方案

GLM-4v-9b行业落地&#xff1a;跨境电商商品图多语言描述生成自动化方案 1. 引言&#xff1a;跨境电商卖家的共同痛点 如果你是做跨境电商的&#xff0c;下面这个场景你一定不陌生&#xff1a;仓库里堆满了新品&#xff0c;运营同事催着要上架&#xff0c;但每个商品都需要准…...

收藏备用!小红书二面大模型面试题:Agent 基本架构核心组件详解(小白也能看懂)

很多程序员和大模型小白反馈&#xff0c;最近小红书二面被问到了一道高频题&#xff1a;「Agent 的基本架构由哪些核心组件构成&#xff1f;」&#xff0c;这道题看似基础&#xff0c;却能快速考察对 Agent 核心逻辑的理解&#xff0c;不管是面试还是日常学习都必须掌握。今天就…...

避坑指南:通达信指标加密的4种方法实测,哪种最难被破解?

通达信指标加密技术深度测评&#xff1a;从入门到防破解实战 在量化交易和个性化指标分析领域&#xff0c;通达信作为国内主流证券分析软件&#xff0c;其自定义指标功能一直备受投资者青睐。但随之而来的指标被盗用、滥用问题也让许多开发者头疼不已——一个经过数月验证的高胜…...

终极防撤回解决方案:RevokeMsgPatcher完全攻略

终极防撤回解决方案&#xff1a;RevokeMsgPatcher完全攻略 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com/GitHu…...

告别沉闷AI工具:像素时装锻造坊带你体验RPG游戏式图像生成

告别沉闷AI工具&#xff1a;像素时装锻造坊带你体验RPG游戏式图像生成 1. 引言&#xff1a;当AI图像生成遇上复古RPG 你是否厌倦了传统AI工具单调的黑色界面和机械化的操作流程&#xff1f;像素时装锻造坊&#xff08;Pixel Fashion Atelier&#xff09;彻底改变了这一现状。…...

cv_unet_image-colorization高保真上色案例:人脸肤色/服饰纹理自然还原实录

cv_unet_image-colorization高保真上色案例&#xff1a;人脸肤色/服饰纹理自然还原实录 你有没有翻看过家里的老相册&#xff1f;那些泛黄的黑白照片&#xff0c;记录着珍贵的瞬间&#xff0c;却总让人觉得少了点什么。色彩&#xff0c;是记忆的温度。过去&#xff0c;为黑白照…...

国产MCU实战:华大HC32F460串口DMA+超时中断,替代STM32空闲中断的完整配置流程

国产MCU实战&#xff1a;华大HC32F460串口DMA超时中断的工程化实现指南 在嵌入式开发领域&#xff0c;国产MCU的崛起为开发者提供了更多选择。华大半导体的HC32F460系列以其出色的性能和灵活的配置&#xff0c;成为许多项目中替代STM32的理想选择。本文将深入探讨如何在这款芯片…...