python递归实现快速对一个给定字符串排序输出

    忙里偷闲,来回顾几个经典的算法,慢慢的把之前丢掉的东西捡回来,在理解中学习,在学习中实践,在实践中掌握。

    今天写的是对一个简单的字符串排序,排序的 依据就是每个英文字母在字母表中的ASCII码大小排序的,算法可以对大小写字母同等处理,比如A和a的ascii值相差是32,那么在排序后的结果中A一定是出现在了a前面的,好了,原理很简单就不多解释了,直接看程序:

#!usr/bin/env python
#encoding:utf-8

'''
__Author__:沂水寒城
功能:对字符串进行快速排序输出
'''

def get_string_quick_sorted(one_str_list, left, right):
    '''
    输入:待排序的字符串列表,起始位置下标
    输出:标志位下标位置,作为递归的划分界限
    '''
    start=left
    end=right
    tmp=one_str_list[start]
    while starttmp and start

结果如下:

0
original_string is: bdsAFha
sorted_string is: AFabdhs
1
original_string is: abcdf
sorted_string is: abcdf
2
original_string is: mkjGSAid
sorted_string is: AGSdijkm
3
original_string is: hglopdm
sorted_string is: dghlmop
4
original_string is: mnsdgvjbn
sorted_string is: bdgjmnnsv
[Finished in 0.5s]

    可以看到:结果均正确输出了,如果感兴趣的话可以拿去试验一下,只需要运行即可,结果都是一样的

    

你可能感兴趣的:(编程技术,面试工作,算法,python实践,面试准备)