-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsortToBalance.py
More file actions
43 lines (34 loc) · 1.09 KB
/
sortToBalance.py
File metadata and controls
43 lines (34 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
def words(fileobj,words):
for line in fileobj:
for word in line.split():
if(words.count(word) == 0):
words.append(word.lower().strip())
def sortIntoBalanceTreeVersion(words,outputList,start, end):
if (end < start):
return
mid = int((start + end) / 2)
outputList.append(words[mid])
sortIntoBalanceTreeVersion(words,outputList, start, mid - 1)
sortIntoBalanceTreeVersion(words, outputList, mid + 1, end)
return
try:
f = open("assignmentText", "r")
try:
wordslist= []
balancedTreeVersion = []
words(f,wordslist)
wordslist.sort()
f = open('assignmentText_SortedList','w')
for i in range(len(wordslist)):
print wordslist[i]
f.write(wordslist[i]+'\n')
f.close()
sortIntoBalanceTreeVersion(wordslist,balancedTreeVersion,0,len(wordslist)-1)
f = open('assignmentText_bTList', 'w')
for w in balancedTreeVersion:
f.write("a "+w+" "+w)
f.write('\n')
finally:
f.close()
except IOError:
pass