RosettaCodeData/Task/Priority-queue/Run-BASIC/priority-queue.run

46 lines
1.5 KiB
Text
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
sqliteconnect #mem, ":memory:"
#mem execute("CREATE TABLE queue (priority float,descr text)")
' --------------------------------------------------------------
' Insert items into the que
' --------------------------------------------------------------
#mem execute("INSERT INTO queue VALUES (3,'Clear drains')")
#mem execute("INSERT INTO queue VALUES (4,'Feed cat')")
#mem execute("INSERT INTO queue VALUES (5,'Make tea')")
#mem execute("INSERT INTO queue VALUES (1,'Solve RC tasks')")
#mem execute("INSERT INTO queue VALUES (2,'Tax return')")
'--------------- insert priority between 4 and 5 -----------------
#mem execute("INSERT INTO queue VALUES (4.5,'My Special Project')")
what$ = " -------------- Find first priority ---------------------"
mem$ = "SELECT * FROM queue ORDER BY priority LIMIT 1"
gosub [getQueue]
what$ = " -------------- Find last priority ---------------------"
mem$ = "SELECT * FROM queue ORDER BY priority desc LIMIT 1"
gosub [getQueue]
what$ = " -------------- Delete Highest Priority ---------------------"
mem$ = "DELETE FROM queue WHERE priority = (select max(q.priority) FROM queue as q)"
2014-01-17 05:32:22 +00:00
#mem execute(mem$)
2013-04-10 23:57:08 -07:00
what$ = " -------------- List Priority Sequence ---------------------"
mem$ = "SELECT * FROM queue ORDER BY priority"
gosub [getQueue]
end
[getQueue]
print what$
2014-01-17 05:32:22 +00:00
#mem execute(mem$)
2013-04-10 23:57:08 -07:00
rows = #mem ROWCOUNT()
print "Priority Description"
for i = 1 to rows
2014-01-17 05:32:22 +00:00
#row = #mem #nextrow()
priority = #row priority()
descr$ = #row descr$()
2013-04-10 23:57:08 -07:00
print priority;" ";descr$
next i
RETURN