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

纪检监察网站建设网站 用户登陆 模板

纪检监察网站建设,网站 用户登陆 模板,网站建设计入什么会计科目,网站营销外包公司简介目录 一、数组排序算法1、冒泡排序算法1.1、图形解释1.2、冒泡算法的脚本写法 二、直接选择排序1.1、动态图解1.2、直接选择排序算法的脚本编写 三、直接插入排序1.1、基本思想#xff1a;1.2、动态图解1.3、直接插入排序的算法脚本编写 四、反向序列算法1.1、反向序列算法的脚… 目录 一、数组排序算法1、冒泡排序算法1.1、图形解释1.2、冒泡算法的脚本写法 二、直接选择排序1.1、动态图解1.2、直接选择排序算法的脚本编写 三、直接插入排序1.1、基本思想1.2、动态图解1.3、直接插入排序的算法脚本编写 四、反向序列算法1.1、反向序列算法的脚本编写 一、数组排序算法 1、冒泡排序算法 基本思想: 冒泡排序的基本思想是疗比相邻的两个元素值如果满足条件就交换元素值把较小的元素移动到数组前面把大的元素移动到数组后面(也就换两个元素的位置)这样较小的元素就像气泡一样从底部上升到顶部。 1.1、图形解释 算法思路: 一般为要排序的数组长度减1次因为最后一次循环只剩下一个数组元素不需要对比冒泡算法由双层循环实现其中外部循环用于控制排序轮数同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小以确定是否交换位置对比和交换次数随排序轮数而减少。 1.2、冒泡算法的脚本写法 使用函数来进行对数组内部值的排序 #!/bin/bash MAOPAO(){ arr($)#获取数组的长度 #使用#命令来查看这个数组的所有下标 length${#arr[]}#定义外层循环用来比较轮数比较轮数为数组长度减1且从1开始 for ((a1; alength; a)) do#内层循环用来确定比较元素的位置比较相邻两个元素较大的元素往后移动并且比较次数会随着比较轮数的增加而减少for ((b0; blength-a; b))do#获取相邻两个元素的前面元素的值first${arr[$b]}#获得相邻两个元素的后面元素的值c$[b 1]second${arr[$c]}#比较两个相邻元素的值大小如果前面元素的值较大。则与后面的元素交换位置if [ $first -gt $second ]then#使用临时变量保存前面元素的值实现两个相邻元素交换位置tmp$firstarr[$b]$secondarr[$c]$tmpfidone doneecho 冒泡排序后的数组的值为: ${arr[]} }##### main ##### read -p 请输入一组列表: numarray$num echo 排序前的数组的值为: ${array[]}MAOPAO ${array[]}实现了自动调整数组的排序 二、直接选择排序 基本思想: 将指定排序位置与其它数组元素分别对比如果满足条件就交换元素值注意这里区别冒泡排序不是交换相邻元素而是把满足条件的元素与指定的排序位置交换(如从最后一个元素开始排序)这样排序好的位置逐渐扩大最后整个数组都成为已排序好的格式 解释: 假设第一个数字为最大的让这个假设最大的数字与后面的数字挨个比较 1.1、动态图解 1.2、直接选择排序算法的脚本编写 使用函数来编写直接选择排序的脚本编写 #!/bin/bash XUANZHE(){ arr($)#获取数组的长度 #使用#命令来查看这个数组的所有下标 length${#arr[]}#定义外层循环的轮数为数组长度减1且从1开始 for ((a1;alength;a)) do#每轮循环的初始最大元素的下标从0开始即第一个元素i0#内层循环定义用于作与当前最大元素作比较的元素下标范围从1开始且每轮比较的最后一个元素下标会随着轮数的增加而减少for ((b1;blength-a;b))do#通过比较获取当前轮数中最大元素的下标if [ ${arr[$i]} -lt ${arr[$b]} ]theni$bfi done#获取当前轮数的最后一个元素的下标last$[length - a]#先用临时变量获取当前轮数的最后一个元素的值tmp${arr[$last]}#将最大元素的值赋给当前轮数的最后一个元素arr[$last]${arr[$i]}#将临时变量的值即原最后一个元素的值作交换arr[$i]$tmpdone echo 排序后的数组的值为: ${arr[]} }##### main ##### read -p 请输入一组列表: num array$numecho 排序前的数组值为: ${array[]}XUANZHE ${array[]} 三、直接插入排序 1.1、基本思想 在待排序的元素中假设前n-1个元素已有序现将第n个元素插入到前面已经排好的序列中使得前n个元素有序。按照此法对所有元素进行插入直到整个序列有序。 但我们并不能确定待排元素中究竟哪一部分是有序的所以我们一开始只能认为第一个元素是有序的依次将其后面的元素插入到这个有序序列中来直到整个序列有序为止 1.2、动态图解 依次与元素比较如果后面的值大于小于前面的值就向前面插入依次比较 1.3、直接插入排序的算法脚本编写 #!/bin/bash CHARU(){ arr($)#获取数组的长度 #使用#命令来查看这个数组的所有下标 length${#arr[]} #外层循环定义待排序的元素下标位置 for ((a1; alength; a)) do#内层定义已排好的序列的元素下标位置范围for ((b0; ba; b))do#将待排序的元素和前面已经排序好的元素依次比较较小的数会交换到已排好序的元素位置较大的数会放到待排序的元素位置if [ ${arr[$a]} -lt ${arr[$b]} ]thentmp${arr[$a]}arr[$a]${arr[$b]}arr[$b]$tmpfidone doneecho 排序后数组的值为: ${arr[]} }##### main ##### read -p 请输入一组列表: num array$numecho 排序前的数组值为: ${array[]}CHARU ${array[]}四、反向序列算法 1.1、反向序列算法的脚本编写 #!/bin/basharr(1 2 3 4 5 6 7 8 9) echo 排序前数组的值为: ${arr[]}length${#arr[]}for ((a0; alength/2; a)) dotmp${arr[$a]}#获取当前轮数的最后一个元素下标会随着轮数的增加而减少last$[length-1-a]arr[$a]${arr[$last]}arr[$last]$tmpdoneecho 排序后数组的值为: ${arr[]}
http://www.tj-hxxt.cn/news/132170.html

相关文章:

  • 免费咨询法律问题的网站温州行业网站建设
  • 怎么才能有自己的网站有漏洞的网站
  • 宝塔建站wordpress兰州网络推广电话
  • 单位建设网站硬件网站域名怎么改
  • 高明专业网站建设报价网站建设超市
  • asp网站源码使用win服务器做网站
  • 做网站备案好还是不备案好拆车件网上商城
  • 温州建设信息港网站seo网站推广有哪些
  • 湖南网站建设 系统腾讯邮箱企业邮箱注册
  • 自建网站做外贸网站维护明细报价表
  • 中国石化工程建设公司网站嵌入式软件开发公司
  • 有成功案例的网站百度关键词排名突然没了
  • 网站设计学什么专业网架钢构公司
  • 宿州市建设工程质量监督站网站html5手机编程软件
  • 自己做的网站如何上百度网站策划书格式及范文
  • 河南省鹤壁市住房和城乡建设局网站推广链接
  • 凤岗网站仿做简单flash个人网站
  • 云南省工程建设造价协会网站做英语阅读的网站或是app
  • 电子商务网站建设与管理的实践报告上海公司注册网上申请
  • 加盟型网站浏览器搜索引擎大全
  • 网站建设的维护工作外包平台都有哪些
  • 企业建设网站的意义企业微网站哪家好
  • 重庆博建设计院公司是网站深圳红酒网站建设
  • 一元钱购买网站空间中铁建设集团最新门户网登录
  • 国外做详情页网站天津市网站制作建设推广公司
  • 免费建站网站 百度一下营销战略咨询公司
  • 专注律师微网站建设与律师微信营销6如何做网站插件
  • 巩义便宜网站建设中文在线っと好きだっ最新版
  • 遵义微商城网站建设平台网站模板服务商
  • 医疗网站的建设设计要注意什么网站seo百度百科