前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python写的小程序

python写的小程序

作者头像
AsiaYe
发布2020-08-04 16:13:17
5660
发布2020-08-04 16:13:17
举报
文章被收录于专栏:DBA随笔DBA随笔

python写的2个小程序

今天早上来公司比较早,就用python写了写数据结构的代码,工作之后虽然参与了一部分开发的工作,但都是在写业务逻辑,时间长了,发现自己成了if-else选手了,索性后面每天都写写,保持保持手感,最近在<极客时间>买了一个<Python核心技术与实战>,感觉也讲得不错,推荐大家看看。

分享一段单链表翻转的python代码和冒泡排序的python代码,大家随意看看。

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding: UTF-8 -*-


# 单链表的翻转功能。
# Node是一个类
class Node:
    def __init__(self,data=None,next=None):
        self.data = data
        self.next = next


# 翻转链表函数,传入头节点
def reverse(serf, head):
    if head is None or head.next is None:  # 防止链表为空或只有1个节点
        return head
    pre_node = None #一个虚节点
    current_node = head
    while current_node is not None:
        next_node = current_node.next
        current_node.next = pre_node
        pre_node = current_node
        current_node = next_node
    return pre_node

if __name__ == '__main__':
    link = Node(1, Node(2, Node(3, Node(4, Node(5, Node(6, Node(7, Node(8, Node(9)))))))))  # 定义的时候,采用这递归的方法.
    root = reverse(link)
    while root:
        print(root.data)
        root =root.next

冒泡排序的python代码:

代码语言:javascript
复制
#!/usr/bin/env python
# -*- coding:utf8 -*-
arr = [1, 34, 3, 48, 27, 46, 79, 35]

'''
  实现思路:
  冒泡排序的思想就是一次循环将两两数之间相互比较,将较大的数放到后面,一次比较完之后
  程序比较的次数就减少一次,依次比较 每比较一次 比较的次数就减少一次。
  因此 用两个for循环 外层用来判断循环的次数,内层for循环用来比较程序的比较的次数
'''
def bubble_sort(arr):
    length = len(arr)
    for i in range(length):   # 这个循环负责设置冒泡排序进行的次数(比如说n个数,则只要进行n-1次冒泡,就可以把这n个数排序好)
        for j in range(0, length-1-i):  #这里这个j就是控制每一次具体的冒泡过程,假如有三个数,那只需要两次就可以了,当下一次时,最后一个数字已经是有序的了,所以说少冒泡一次,所以这里j每次都会减去i的值
            if arr[j] > arr[j+1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]  # 这里是python特有的写法,如果在C++等语言中,需要借助中间变量将两个值进行交换

# 函数调用
bubble_sort(arr)
print('{}'.format(arr))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档