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

电子商务网站开发教程课本例题h5网站开发模板

电子商务网站开发教程课本例题,h5网站开发模板,顺德网站建设jinqiye,中国建筑设计咨询公司原题如下#xff1a; 给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。 输入格式 输入共两行#xff0c;第一行包含整数 n。 第二行包含 n 个整数#xff08;所有整数均在 1∼10^9 范围内#xff09; 给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。 输入格式 输入共两行第一行包含整数 n。 第二行包含 n 个整数所有整数均在 1∼10^9 范围内表示整个数列。 输出格式 输出共一行包含 n 个整数表示排好序的数列。 数据范围 1≤n≤100000 输入样例 5 3 1 2 4 5输出样例 1 2 3 4 5 1. 整体功能概述 快速排序思想 代码来源 作者Philosober 链接https://www.acwing.com/activity/content/code/content/902188/ def quick_sort(l,r,data):if l r:returni l - 1j r 1pivot data[(ij) // 2]while i j:while 1:i 1if data[i] pivot:breakwhile 1:j - 1if data[j] pivot:breakif i j:data[i],data[j] data[j],data[i]quick_sort(l,j,data)quick_sort(j1,r,data)def main():l 0r n-1quick_sort(l,r,data)if __name__ __main__:n int(input())data [int(x) for x in input().split()]main()print( .join(list(map(str, data)))) 结果输出 这段代码实现了快速排序算法用于对输入的一组整数进行排序并在排序完成后输出排序后的结果。快速排序是一种高效的排序算法它基于分治策略通过选择一个 “枢轴”pivot元素将数组分为两部分左边部分的元素都小于等于枢轴右边部分的元素都大于等于枢轴然后递归地对这两部分进行排序。 2. 函数和模块结构 quick_sort函数这是实现快速排序核心逻辑的函数它接受三个参数l表示要排序的数组片段的左边界索引、r表示要排序的数组片段的右边界索引和data表示要排序的整数数组。main函数主要用于设置排序的初始边界并调用quick_sort函数进行排序。在if __name__ __main__语句块中获取用户输入的数组长度n和数组元素然后调用main函数完成排序并输出结果。 3. quick_sort函数详细解释 1递归终止条件 if l r:return当要排序的数组片段的左边界索引l大于等于右边界索引r时说明该片段已经只有一个元素或者为空此时不需要再进行排序直接返回即可。 2初始化指针和选择枢轴 i l - 1 j r 1 pivot data[(i j) // 2]首先初始化两个指针i和ji初始化为左边界索引l减 1j初始化为右边界索引r加 1。这里的初始化值是为了后续在循环中能正确地向中间移动指针并找到合适的元素与枢轴进行比较。然后选择枢轴元素。这里通过data[(i j) // 2]来选择枢轴即取当前要排序的数组片段中间位置这里的中间位置计算方式是先将i和j相加再除以 2的元素作为枢轴。 3主循环 while i j:while 1:i 1if data[i] pivot:breakwhile 1:j - 1if data[j] pivot:breakif i j:data[i], data[j] data[j], data[i]外层while循环的条件是i j只要这两个指针还没有相遇就继续循环进行元素的比较和交换操作。内层第一个while循环不断将指针i向右移动通过i 1直到找到一个大于等于枢轴pivot的元素。这里使用while 1:是为了让循环一直执行直到满足if data[i] pivot:这个条件时通过break跳出循环。内层第二个while循环与第一个内层循环类似不断将指针j向左移动通过j - 1直到找到一个小于等于枢轴pivot的元素。当内层两个循环都找到合适的元素即i指向大于等于枢轴的元素j指向小于等于枢轴的元素后如果i j说明这两个元素的位置不符合快速排序的要求左边应该是小于等于枢轴的元素右边应该是大于等于枢轴的元素此时就交换data[i]和data[j]这两个元素的位置使得数组在i和j这两个位置上的元素更符合快速排序的分区要求。 4递归调用 quick_sort(l, j, data) quick_sort(j 1, r, data)在完成一次i和j指针的移动和元素交换操作后数组被以j为界分成了两部分左边部分索引从l到j和右边部分索引从j 1到r。然后分别对这两部分递归地调用quick_sort函数进行排序直到整个数组都被排序完成。 4. main函数详细解释 1设置初始边界 l 0 r n - 1在main函数中首先设置了要排序的数组的初始左边界l为 0右边界r为n - 1这里的n是数组的长度在后续的代码在if __name__ __main__语句块中会获取到用户输入的数组长度。 2调用快速排序函数 quick_sort(l, r, data)接着调用quick_sort函数对整个数组从索引 0 到索引n - 1进行排序传入的参数是设置好的初始边界l和r以及要排序的数组data。 5. if __name__ __main__语句块详细解释 1获取用户输入 n int(input()) data [int(x) for x in input().split()]首先通过int(input())获取用户输入的整数这个整数表示要排序的数组的长度n。然后通过[int(x) for x in input().split()]获取用户输入的以空格分隔的整数序列并将其转换为整数列表data这个列表就是要进行排序的数组。 2调用main函数并输出结果 main() print( .join(list(map(str, data))))首先调用main函数在main函数中会完成对数组data的排序操作。最后通过print( .join(list(map(str, data))))将排序后的数组元素以空格分隔的字符串形式输出。这里先使用list(map(str, data))将整数列表中的每个元素转换为字符串然后使用join方法将这些字符串用空格连接起来形成一个可以直接输出的字符串形式。
http://www.zqtcl.cn/news/925923/

相关文章:

  • 商丘网站建设推广公司配资网站建设多少钱
  • 手机网站怎么做SEO优化gzip压缩 wordpress
  • 上下框架 网站app营销的核心是什么
  • 网站开发哪里有培训wordpress 主题 网址导航
  • 深圳市宝安区怎么样百度禁止seo推广
  • 手机电商网站 模板常熟做网站优化
  • 免费的logo设计网站网页设计与制作dw
  • 线上调研问卷在哪个网站上做网页设计学生作业
  • 云南高端网站建设网页设计工作室选址依据
  • 免费的编程自学网站互联网公司网站建设ppt
  • 免费发帖的网站网站空间服务器费用
  • 商城类的网站一般怎么做做ps从哪个网站上下载图片大小
  • 怎么做网站链接支付免费推广网站搭建
  • 威海 网站建设刚刚北京传来重大消息
  • 深圳返利网站开发做网站版权怎么写
  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作
  • 网站开发阶段Oss怎么做静态网站
  • 做科学小制作的视频网站怎么才能建立自己的网站啊
  • 跳蚤市场网站开发背景网站优点
  • 长春网站建设方案咨询怎么做自己的网站平台
  • 网站建设谈单技巧做网站建设科技公司
  • 品牌网站建设4a小蝌蚪网页设计分类
  • 域名注册以后会给你一个账户名密码上传做好的网站文化网站建设需要的功能
  • 企业站用wordpress做好吗那些做环保网站的好
  • 天津有哪些有名的网站建设公司商城网站模板免费