Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
Module Checkit1 {
|
||||
Group Quick {
|
||||
Private:
|
||||
Function partition {
|
||||
Read &A(), p, r
|
||||
x = A(r)
|
||||
i = p-1
|
||||
For j=p to r-1 {
|
||||
If .LE(A(j), x) Then {
|
||||
i++
|
||||
Swap A(i),A(j)
|
||||
}
|
||||
}
|
||||
Swap A(i+1),A(r)
|
||||
= i+1
|
||||
}
|
||||
Public:
|
||||
LE=Lambda->Number<=Number
|
||||
Function quicksort {
|
||||
Read &A(), p, r
|
||||
If p < r Then {
|
||||
q = .partition(&A(), p, r)
|
||||
Call .quicksort(&A(), p, q - 1)
|
||||
Call .quicksort(&A(), q + 1, r)
|
||||
}
|
||||
}
|
||||
}
|
||||
Dim A(10)<<Random(50, 100)
|
||||
Print A()
|
||||
Call Quick.quicksort(&A(), 0, Len(A())-1)
|
||||
Print A()
|
||||
}
|
||||
Checkit1
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
Module Checkit2 {
|
||||
Class Quick {
|
||||
Private:
|
||||
partition=lambda-> {
|
||||
Read &A(), p, r : i = p-1 : x=A(r)
|
||||
For j=p to r-1 {If .LE(A(j), x) Then i++:Swap A(i),A(j)
|
||||
} : Swap A(i+1), A(r) : Push i+1
|
||||
}
|
||||
Public:
|
||||
LE=Lambda->Number<=Number
|
||||
Module ForStrings {
|
||||
.partition<=lambda-> {
|
||||
Read &A$(), p, r : i = p-1 : x$=A$(r)
|
||||
For j=p to r-1 {If A$(j)<= x$ Then i++:Swap A$(i),A$(j)
|
||||
} : Swap A$(i+1), A$(r) : Push i+1
|
||||
}
|
||||
}
|
||||
Function quicksort (ref$) {
|
||||
myQuick()
|
||||
sub myQuick()
|
||||
If Stackitem() >= stackitem(2) Then drop 2 : Exit Sub
|
||||
Over 2, 2 : Call .partition(ref$) : Over : Shiftback 3, 2
|
||||
myQuick(number, number - 1)
|
||||
myQuick( number + 1, number)
|
||||
End Sub
|
||||
}
|
||||
}
|
||||
Quick=Quick()
|
||||
Dim A(10)
|
||||
A(0):=57, 83, 74, 98, 51, 73, 85, 76, 65, 92
|
||||
Print A()
|
||||
Call Quick.quicksort(&A(), 0, Len(A())-1)
|
||||
Print A()
|
||||
Quick=Quick()
|
||||
Quick.ForStrings
|
||||
Dim A$()
|
||||
A$()=("one","two", "three","four", "five")
|
||||
Print A$()
|
||||
Call Quick.quicksort(&A$(), 0, Len(A$())-1)
|
||||
Print A$()
|
||||
}
|
||||
Checkit2
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
Module Checkit3 {
|
||||
Class Quick {
|
||||
Private:
|
||||
partition=lambda-> {
|
||||
Read &A(), p, r : i = p-1 : x=A(r)
|
||||
For j=p to r-1 {If .LE(A(j), x) Then i++:Swap A(i),A(j)
|
||||
} : Swap A(i+1), A(r) : Push i+2, i
|
||||
}
|
||||
Public:
|
||||
LE=Lambda->Number<=Number
|
||||
Module ForStrings {
|
||||
.partition<=lambda-> {
|
||||
Read &A$(), p, r : i = p-1 : x$=A$(r)
|
||||
For j=p to r-1 {If A$(j)<= x$ Then i++:Swap A$(i),A$(j)
|
||||
} : Swap A$(i+1), A$(r) : Push i+2, i
|
||||
}
|
||||
}
|
||||
Function quicksort {
|
||||
Read ref$
|
||||
{
|
||||
loop : If Stackitem() >= Stackitem(2) Then Drop 2 : if empty then {Break} else continue
|
||||
over 2,2 : call .partition(ref$) :shift 3
|
||||
}
|
||||
}
|
||||
}
|
||||
Quick=Quick()
|
||||
Dim A(10)<<Random(50, 100)
|
||||
Print A()
|
||||
Call Quick.quicksort(&A(), 0, Len(A())-1)
|
||||
Print A()
|
||||
Quick=Quick()
|
||||
Function join$(a$()) {
|
||||
n=each(a$(), 1, -2)
|
||||
k$=""
|
||||
while n {
|
||||
overwrite k$, ".", n^:=array$(n)
|
||||
}
|
||||
=k$
|
||||
}
|
||||
Stack New {
|
||||
Data "1.3.6.1.4.1.11.2.17.19.3.4.0.4" , "1.3.6.1.4.1.11.2.17.19.3.4.0.1", "1.3.6.1.4.1.11150.3.4.0.1"
|
||||
Data "1.3.6.1.4.1.11.2.17.19.3.4.0.10", "1.3.6.1.4.1.11.2.17.5.2.0.79", "1.3.6.1.4.1.11150.3.4.0"
|
||||
Dim Base 0, arr(Stack.Size)
|
||||
Link arr() to arr$()
|
||||
i=0 : While not Empty {arr$(i)=piece$(letter$+".", ".") : i++ }
|
||||
}
|
||||
\\ change comparison function
|
||||
Quick.LE=lambda (a, b)->{
|
||||
Link a, b to a$(), b$()
|
||||
def i=-1
|
||||
do {
|
||||
i++
|
||||
} until a$(i)="" or b$(i)="" or a$(i)<>b$(i)
|
||||
if b$(i)="" then =a$(i)="":exit
|
||||
if a$(i)="" then =true:exit
|
||||
=val(a$(i))<=val(b$(i))
|
||||
}
|
||||
Call Quick.quicksort(&arr(), 0, Len(arr())-1)
|
||||
For i=0 to len(arr())-1 {
|
||||
Print join$(arr(i))
|
||||
}
|
||||
\\ Fresh load
|
||||
Quick=Quick()
|
||||
Quick.ForStrings
|
||||
Dim A$()
|
||||
A$()=("one","two", "three","four", "five")
|
||||
Print A$()
|
||||
Call Quick.quicksort(&A$(), 0, Len(A$())-1)
|
||||
Print A$()
|
||||
}
|
||||
Checkit3
|
||||
Loading…
Add table
Add a link
Reference in a new issue