5.3 运用典型算法 第5单元 程序设计入门 任务 1 运用排序算法 列表 1 数据处理通常会涉及很多数据,这些数据需要一个容器进行管理,这个容器就是数据结构,Python中的数据结构主要有序列(列表、元组等)集合和字典。列表(list)是 Python最常用的序列,具有可变性,可以追加、插、删除和替换元素。 创建列表 创建列表可以使用方括号“[]”将元素括起来,元素之间用逗号分隔。 a=[12,35,56,23] b=['张三','李四','王五'] 列表 1 追加元素 a=[12,35,56,23] a.append(30) #在列表后面追加一个元素 a+=[30,40] #利用“+=”运算符在列表后面追加多个元素 a.extend([30,40]) #利用“extend()”方法在列表后面追加多个元素 要在列表中追加单个元素,可使用 append()方法;要在列表中追加多个元素或另一个列表,可使用“+=”运算符或 extend()方法。 列表 1 插入元素 a=[12,35,56,23] a.insert(2,30) #在列表索引2(第3个元素)位置上插入一个元素 使用insert()方法可以在列表中指定索引位置插入一个元素。 替换元素 使用“=”运算符可以替换列表的元素。 a=[12,35,56,23] a[1]=10 #在列表索引1位置上将35替换为10 列表 1 删除元素 a=[12,35,56,23] a.remove(35) #在列表中查找第一个值为35的元素并删除 a.pop(1) #删除列表索引1位置上的元素 使用 remove()方法或pop()方法可以删除列表中的元素。remove()方法从左至右查找列表中的元素,如果找到匹配的元素则删除;如果找到多个匹配元素,只删除第一个;如果没有找到则提示错误。pop()方法删除指定索引位置上的元素,如果不指定索引位置,则删除最后一个元素。 选择排序算法 2 选择排序基本思路:每次从待排序的数据中选出最小元素,顺序放在之前已经排好序的数据最后,直到全部数据排序完毕。实现方法:取第一个数和后面的数逐一比较,然后一轮之后得到最小的数放在第一个,然后开始取第二个,重复之前的比较。 选择排序算法 2 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}7 4 5 9 8 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 4 5 9 8 2 7 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 5 9 8 4 7 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 4 9 8 5 7 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 4 5 8 9 7 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 4 5 7 9 8 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 4 5 7 8 9 初始状态: 第1轮: 第2轮: 第3轮: 第4轮: 第5轮: 第6轮: 选择排序算法 2 假设排序列表为a,数据个数为n。 a=[7,4,5,9,8,2,1] for i in range(len(a)-1): minIndex=i #记录最小数索引 for j in range(i+1,len(a)): if a[minIndex]>a[j]: #若找到更小的数 minIndex=j #将找到的最小数和未排序的第一个数交换 a[i],a[minIndex]=a[minIndex],a[i] print(a) 插入排序算法 3 插入排序基本思路:每次取出一个待排序的数据元素,按其大小插入到之前已经排好序的数据集中,直到全部待排序元素插入完毕。具体实现方法为:从左边开始取值,然后和它左边的所有元素值进行比较,如果取的值比它左边的值小就与其交换,重复以上操作。 插入排序算法 3 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}7 4 5 9 8 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}4 7 5 9 8 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}4 5 7 9 8 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}4 5 7 9 8 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}4 5 7 8 9 2 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}2 4 5 7 8 9 1 {5C22544A-7EE6-4342-B048-85BDC9FD1C3A}1 2 4 5 7 8 9 初始状态: 第1轮: 第2轮: 第3轮: 第4轮: 第5轮: 第6轮: 插入排序算法 3 假设排序列表为a,数据个数为n。 a=[7,4,5,9,8,2,1] for ... ...
~~ 您好,已阅读到文档的结尾了 ~~