冒泡排序与二分查找

# -*-coding:utf-8-*-
"""二分查找指定元素, 冒泡排序"""

def find_data(sort_data, num):
    min = 0
    max = len(sort_data) - 1

    print sort_data

    while min <= max:
        center = (min + max) / 2
        c_data = sort_data[center]
        if c_data == num:
            return center
        elif c_data > num:
            max = center - 1
        else:
            min = center - 1
    return None


def sort_list(data_list):
    max = len(data_list) - 1
    if max <= 0:
        return data_list

    while max > 0:
        for i in range(max):
            # if i == max:
                # break
            if data_list[i] > data_list[i+1]:
                data_list[i], data_list[i+1] = data_list[i+1], data_list[i]

        max -= 1

    return data_list


a = [1, 2, 5, 3, 0, 4, 8, 14, 9]

a0 = sort_list(a)

print a0

b0 = find_data(a0, 8)

print b0

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容