手里有一副五张已经排好序的扑克牌(3 4 8 9 11),然后抓了一张六,如何用Python语言写一个插入排序的代码将这个六插入进去,要具体代码,感恩!
大概就是把图片这样的VB写法改成Python😭

关于#Python#的问题如何解决?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 语言-逆行者 2023-04-08 12:22关注
cards = [3, 4, 8, 9, 11] # 已排序的牌 new_card = 6 # 新牌 # 插入排序 for i in range(1, len(cards)): key = cards[i] j = i - 1 while j >= 0 and key < cards[j]: cards[j+1] = cards[j] j -= 1 cards[j+1] = key # 将新牌插入已排序的牌中 cards.append(new_card) for i in range(len(cards)-1, 0, -1): if cards[i] < cards[i-1]: cards[i], cards[i-1] = cards[i-1], cards[i] print(cards) # 输出结果:[3, 4, 6, 8, 9, 11]
代码解释:
- 首先定义已排序的扑克牌 cards 和待插入的扑克牌 new_card。
- 使用插入排序算法,从第二张牌开始(即 i = 1),依次将每张牌与前面已排好序的牌进行比较。
- 如果待插入的牌比前面的某张牌小,就将前面的牌往后移动一位,直到找到待插入的位置。
- 将待插入的牌放到找到的位置上。
- 循环结束后,输出已排好序的扑克牌 cards,结果为 [3, 4, 6, 8, 9, 11],表示插入成功。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用