Сортировка вставок, реализованная в строках файла CSV в Python - PullRequest
0 голосов
/ 22 октября 2018

Я хочу изменить текущий алгоритм сортировки вставок для сортировки файлов, и я не знаю, с чего начать.Это мой код:

def insertionSort(arr):
    for i in range(1,len(arr)):

        key = arr[i]

        j = i-1

        while j >=0 and key < arr[j]:
            arr[j+1]=arr[j]
            j -=1
        arr[j+1] = key

1 Ответ

0 голосов
/ 22 октября 2018

На каком основании вы хотите отсортировать файл?[например, для измененных данных или имени]

Просто вам нужно использовать import os

файлов, поступающих из os.listdir (), отсортированных в алфавитном порядке, а не численно .

для сортировки по другому значению

import os

def extractDataOrIndex(fileName):
    # do something to return date or index
    return date

def insertionSort(arr):

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

        dataOrIndexOfCurrentFile = extractDataOrIndex(arr[i])   #have some logic here to extract date or Index 

        j = i-1

        dataOrIndexOfPrevFile = extractDataOrIndex(arr[j])     #have some logic here to extract date or Index

        while j >=0 and dataOrIndexOfCurrentFile < dataOrIndexOfPrevFile:
            arr[j+1]=arr[j]
            j -= 1
            if j>=0 :
                dataOrIndexOfPrevFile = extractDataOrIndex(arr[j])
        arr[j+1] = arr[i]

arddDir = os.listdir()

print(arddDir)  # you can see its already sorted by name

insertionSort(arddDir)

for i in range(0,len(arr)):
    print(arr[i])    # to see sorted file on the basis of some parameter other than 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...