Python Forum
Sort without using sort
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sort without using sort
#1
Text file:
425 300 1
50 10 15
6 9 3
2 12 6
70 69 71
1 2 3

My code:
#Project#1-Quyen Nguyen
file="Project1.txt"
infile=open(file)

count=0
for line in infile:
strip_line=line.rstrip()
count=count+1
strip_line=line.split()
value0=strip_line[0]
value1=strip_line[1]
value2=strip_line[2]
numval0=int(value0,base=10)
numval1=int(value1,base=10)
numval2=int(value2,base=10)
print("line#,numval0,numval1,numval2)

I just take the class for 2 week and I am stuck with my HW. My question is how can i sort it in numerical order without using sort.
Reply
#2
You could list.pop() min(list_object) or max(list_object) to get the lowest or higher value to create a sorted list.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#3
If you haven't learned pop yet, another way to do it is:
  • calculate the min
  • remove the min
  • append the min to a new list.
The bold words are the functions/method you would use.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#4
file="Project1.txt"
infile=open(file)

line1=infile.readline()
data1=line1.split(" ")
numval0_line1=int(data1[0],base=10)
numval1_line1=int(data1[1],base=10)
numval2_line1=int(data1[2],base=10)
#Set up count
count=0
#Working on line1:
list1=[numval0_line1,numval1_line1,numval2_line1]
min1=min(list1)
max1=max(list1)
mid1=sum(list1)-max1-min1
while count<1:
count=count+1
print("line#",count,"-","Lowest to Highest:",min1,",",mid1,",",max1)

line2=infile.readline()
data2=line2.split(" ")
numval0_line2=int(data2[0],base=10)
numval1_line2=int(data2[1],base=10)
numval2_line2=int(data2[2],base=10)
list2=[numval0_line2,numval1_line2,numval2_line2]
max2=max(list2)
min2=min(list2)
mid2=sum(list2)-max2-min2
while count<2:
count=count+1
print("line#",count,"-","Lowest to Highest:",min2,",",mid2,",", max2)

line3=infile.readline()
data3=line3.split(" ")
numval0_line3=int(data3[0],base=10)
numval1_line3=int(data3[1],base=10)
numval2_line3=int(data3[2],base=10)
list3=[numval0_line3,numval1_line3,numval2_line3]
max3=max(list3)
min3=min(list3)
mid3=sum(list3)-max3-min3
while count<3:
count=count+1
print("line#",count,"-","Lowest to Highest:",min3,",",mid3,",",max3)

line4=infile.readline()
data4=line4.split(" ")
numval0_line4=int(data4[0],base=10)
numval1_line4=int(data4[1],base=10)
numval2_line4=int(data4[2],base=10)
list4=[numval0_line4,numval1_line4,numval2_line4]
max4=max(list4)
min4=min(list4)
mid4=sum(list4)-max4-min4
while count<4:
count=count+1
print("line#",count,"-","Lowest to Highest:",min4,",",mid4,",",max4)

line5=infile.readline()
data5=line5.split()
numval0_line5=int(data5[0],base=10)
numval1_line5=int(data5[1],base=10)
numval2_line5=int(data5[2],base=10)
list5=[numval0_line5,numval1_line5,numval2_line5]
max5=max(list5)
min5=min(list5)
mid5=sum(list5)-max5-min5
while count<5:
count=count+1
print("line#",count,"-","Lowest to Highest:",min5,",",mid5,",",max5)

line6=infile.readline()
data6=line6.split()
numval0_line6=int(data6[0],base=10)
numval1_line6=int(data6[1],base=10)
numval2_line6=int(data6[2],base=10)
list6=[numval0_line6,numval1_line6,numval2_line6]
max6=max(list6)
min6=min(list6)
mid6=sum(list6)-max6-min6
while count<6:
count=count+1
print("line#",count,"-","Lowest to Highest:",min6,",",mid6,",",max6)
I just finish the homework base on you guys idea. thank you alot
#END
Reply
#5
(Sep-21-2017, 02:31 AM)qhnguyen Wrote: numval0_line6=int(data6[0],base=10)

In most numbering systems currently in use in the world, base 10 is used.  Thus, it's the default for int().  So there's no need to pass it, you could just numval0_line6 = int(data6[0]).
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to sort a list with duplicates and return their unique indices. Echoroom 3 3,356 Sep-23-2022, 07:53 AM
Last Post: deanhystad
  sorting a list using unicodes acending order, no loops, no sort(), using recursion lrn2codee 14 6,249 Jun-23-2021, 07:33 PM
Last Post: deanhystad
  Sort and merge flintstone 1 1,870 Jun-14-2021, 07:32 PM
Last Post: Larz60+
  How can I sort my column so that NaN is at the bottom? soft 3 2,355 Feb-06-2021, 01:02 PM
Last Post: ibreeden
  how to sort a list without .sort() function letmecode 3 3,372 Dec-28-2020, 11:21 PM
Last Post: perfringo
  Sort on basis of (name,age,score) pyzyx3qwerty 9 9,406 May-14-2020, 08:29 AM
Last Post: pyzyx3qwerty
  Sort last pyzyx3qwerty 7 4,668 May-05-2020, 02:58 PM
Last Post: DeaD_EyE
  insertion sort brobro 3 2,156 Apr-24-2020, 01:29 PM
Last Post: Godserena
  Sort objects by protected properties. Sigriddenfeta 1 1,856 Mar-17-2020, 04:11 AM
Last Post: Larz60+
  list and sort query arian29 2 2,166 Sep-18-2019, 06:19 PM
Last Post: ndc85430

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020