python使用bubblesort对列表进行排序

时间:2019-12-01 10:17:35

标签: python list sorting append bubble-sort

我有一本这样的日记

  DAY 1

  Date1 2019-12-02 02:52:14.
  Date2 2019-12-02 02:51:38.
  Date3 2019-12-01 16:52:14.
  Date4 2019-12-01 07:52:14.
  Date5 2019-12-01 06:52:14.

  DAY 2

  Date6 2019-12-02 01:52:14.
  Date7 2019-12-01 01:05:26.
  Date8 2019-12-01 00:59:26.
  Date9 2019-12-01 01:28:14.
  Date20 2019-12-01 00:58:14.

我正在使用Bubblesort对列表进行排序。它应该给我最新的日期和最新的时间。 因此,列表中的第一个条目将是Date1,然后是Date2,然后是Date6,然后是Date3,依此类推。

排序后的列表应如下所示;

 Diary
 Date1 2019-12-02 02:52:14.
 Date2 2019-12-02 02:51:38.
 Date6 2019-12-02 01:52:14.

创建日记的功能

def create_diary(P, N):
    S = []
    for i in range(0, N):
        for j in range(len(P)-2):
            for k in range(len(P)-1,0,-1):
               if P[j][0].timestamp > P[j+1][0].timestamp:
                 P[j][0],P[j+1][0] = P[j+1][0],P[j][0]
                 S.append(Posting(P[j+1][0].content, P[j+1][0].timestamp))


return S

函数在main中的定义方式:

N = 3 #number of entries in the diary code
    S = create_Diary(P, N)
    print("Diary")
    for s in S:
         print(" ", s.content, s.timestamp)

但是,当我运行此代码时,它只会打印出第一个条目

Diary
Date1 2019-12-02 02:52:14.

我是否正确使用了冒泡排序算法?

0 个答案:

没有答案