def insertionSort(a):
for i in range(1, len(a)): #outer loop covering the range
value = a[i] #value = to list, which will compare items to the left
i = i - 1 #i goes lower than index to compare further to the left
while i >= 0 : #keep comparing till its at the beginning of the list
if value < a[i]: #if value is less than i
a[i+1] = a[i] # shift number in right i to slot i + 1
a[i] = value # shift value that was left into slot i
i = i - 1
else:
break
infile = open("file1.txt", "r")
a=[]
for aline in infile:
a = aline.split()
insertionSort(a)
print(a)
これは、ファイル内にあるものである:ファイルから読み込んだリストをソートしますか?
7686850495948548545
私は、ファイル上で動作するようにinsertionSort()
機能を入手するにはどうすればよいですか?
ファイルにはすべての数値が1行に含まれていますか? – trans1st0r
'a = aline.split()'を実行すると、変数 'a'の外側に参照が保持されないので、forループの次の繰り返しが次の行で上書きされるので、何が起こるのかはソートon **ファイルの最後の行** ** –
'a.extend(aline.split())を実行した場合、その行のすべての単語(または数字)でリストを拡張し、それらのうちのforループの後に。 –