自定義排序演算法

2022-08-13 17:21:13 字數 3313 閱讀 9015

1. 自定義排序演算法

核心思想:確定第乙個元素是最大值,確定第二個元素是最大值,確定第倒數第二個元素是最大值。

步驟:1.取出前幾個資料(不要最後乙個)

2.與後面元素進行比較

3.發現更xx則交換(取出的 比較的)

list01 = [43, 15, 5, 67, 87, 9]

for r in range(len(list01) - 1): # 0 1

for c in range(r + 1, len(list01)):

if list01[r] > list01[c]:

list01[r], list01[c] = list01[c], list01[r]

print(list01)

2. 在數字列表中查詢最大的數字

演算法:[170 , 160 , 180 , 165]

假設第乙個就是最大值

使用假設的和第二個進行比較, 發現更大的就替換假設的

使用假設的和第三個進行比較, 發現更大的就替換假設的

使用假設的和第四個進行比較, 發現更大的就替換假設的

最後,假設的就是最大的.

number = [170 , 160 , 180 , 165]

number_max = number[0]

for i in range(1,len(number)):

if number_max < number[i]:

number_max = number[i]

print(number_max)

3.  自定義演算法實現下列功能

list01 = [3,9,34,26,5,6,7,8,9,6]

(1)在list01中找出最小值

(2)對liest01進行降序排列

(3)刪除list01中大於10的元素

(4)刪除list01中重複的元素

list01 = [3, 9, 34, 26, 5, 6, 7, 8, 9, 6]

# (1)

min_value = list01[0]

for i in range(1, len(list01)):

if min_value > list01[i]:

min_value = list01[i]

print(min_value)

# (2)

for r in range(len(list01) - 1):

for c in range(r + 1, len(list01)):

if list01[r] < list01[c]:

list01[r], list01[c] = list01[c], list01[r]

print(list01)

# (3)

for i in range(len(list01) - 1, -1, -1):

if list01[i] > 10:

del list01[i]

print(list01)

# (4)

for r in range(len(list01) - 1, 0, -1):

for c in range(r):

if list01[r] == list01[c]:

del list01[r]

break

print(list01)

1. 自定義排序演算法

核心思想:確定第乙個元素是最大值,確定第二個元素是最大值,確定第倒數第二個元素是最大值。

步驟:1.取出前幾個資料(不要最後乙個)

2.與後面元素進行比較

3.發現更xx則交換(取出的 比較的)

list01 = [43, 15, 5, 67, 87, 9]

for r in range(len(list01) - 1): # 0 1

for c in range(r + 1, len(list01)):

if list01[r] > list01[c]:

list01[r], list01[c] = list01[c], list01[r]

print(list01)

2. 在數字列表中查詢最大的數字

演算法:[170 , 160 , 180 , 165]

假設第乙個就是最大值

使用假設的和第二個進行比較, 發現更大的就替換假設的

使用假設的和第三個進行比較, 發現更大的就替換假設的

使用假設的和第四個進行比較, 發現更大的就替換假設的

最後,假設的就是最大的.

number = [170 , 160 , 180 , 165]

number_max = number[0]

for i in range(1,len(number)):

if number_max < number[i]:

number_max = number[i]

print(number_max)

3.  自定義演算法實現下列功能

list01 = [3,9,34,26,5,6,7,8,9,6]

(1)在list01中找出最小值

(2)對liest01進行降序排列

(3)刪除list01中大於10的元素

(4)刪除list01中重複的元素

list01 = [3, 9, 34, 26, 5, 6, 7, 8, 9, 6]

# (1)

min_value = list01[0]

for i in range(1, len(list01)):

if min_value > list01[i]:

min_value = list01[i]

print(min_value)

# (2)

for r in range(len(list01) - 1):

for c in range(r + 1, len(list01)):

if list01[r] < list01[c]:

list01[r], list01[c] = list01[c], list01[r]

print(list01)

# (3)

for i in range(len(list01) - 1, -1, -1):

if list01[i] > 10:

del list01[i]

print(list01)

# (4)

for r in range(len(list01) - 1, 0, -1):

for c in range(r):

if list01[r] == list01[c]:

del list01[r]

break

print(list01)

DataGridView自定義排序

net自帶datagridview排序貌似最終都是用datagridview.sort 發現當是用排序後,datagridview將把排序前的行樣式等重置,仔細測試後覺得貌似是排序時datagridview重新繫結了資料來源,具體不得而知.實在沒有辦法破解,我也不想重新寫比較來排序,用了最土的辦法,...

QTableWidget 自定義排序

qtablewidget功能強大,可以在每個格仔裡新增自己的wiget部件。如果想對這些自己新增的widget進行排序有兩種方法。一種是直接設定每個格仔對應的qtablewidgetitem的值,因為qtablewidget預設是據qtablewidgetitem來排序,呼叫的比較函式是 bool ...

python list 自定義排序

看到的乙個知識點,稍加記錄 a 希望將上述的list排序,按照每條記錄中的 score 排序。如果 score 欄位的值相等,則按照 first 的值排序。如果 first 依舊相等,則按照 second 排序。如果 second 相等,則按照 third 欄位的值來排序。a.sort.doc l....