Sorting An Array by Binary Tree Sort Algorithm. Binary tree sort is a simple insertion algorithm by inserting elements to a binary noded tree like structure.
Example of arranging an array in binary noded form by Binary Tree Algorithm.
ASP VbScript Command:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<SCRIPT RUNAT="SERVER" LANGUAGE="VBScript">
Function SrtArry(Ori_Arry)
Dim i, j, k, flag
Redim tree_arry(UBound(Ori_Arry))
left_ind=0
itm_arry=Ori_Arry(LBound(Ori_Arry))
rigt_ind=0
tree_arry(0)=array(left_ind,itm_arry,rigt_ind)
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
flag=0
j=0
Do while flag=0
If UCase(Ori_Arry(i)) < UCase(tree_arry(j)(1)) Then
k=0
Else
k=2
End If
If tree_arry(j)(k)=0 Then
tree_arry(j)(k)=i
tree_arry(i)=array("0",Ori_Arry(i),"0")
flag=1
Else
j=tree_arry(j)(k)
End If
Loop
Next
SrtArry=tree_arry
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
Response.Write " <br /> "
call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k< l and j>0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</SCRIPT>
<%
Dim OriArry, NewArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
NewArry=SrtArry(OriArry)
Response.Write "Noded Binary Tree Array"
Response.Write LstArry(NewArry,0,0,0)
%>
</body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
Original Array <br /> [s, i, d, e, w, a, y, o, u, t] <br /> Noded Binary Tree Array <br /> [ <br /> -->[1, s, 4], <br /> -->[2, i, 7], <br /> -->[5, d, 3], <br /> -->[0, e, 0], <br /> -->[8, w, 6], <br /> -->[0, a, 0], <br /> -->[0, y, 0], <br /> -->[0, o, 0], <br /> -->[9, u, 0], <br /> -->[0, t, 0]]
</body>
</html>
HTML Web Page Embedded Output:
Example of arranging an array in binary noded form with backward index by Binary Tree Algorithm.
ASP VbScript Command:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<SCRIPT RUNAT="SERVER" LANGUAGE="VBScript">
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",j,"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i<= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
SrtArry=A
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
Response.Write " <br /> "
call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</SCRIPT>
<%
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree with backward index Array"
Response.Write LstArry(NewArry,0,0,0)
%>
</body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
Original Array <br /> [s, i, d, e, w, a, y, o, u, t] <br /> Noded Binary Tree with backward index Array <br /> [ <br /> -->[1, 0, 4], <br /> -->[2, 0, 7], <br /> -->[5, 1, 3], <br /> -->[0, 2, 0], <br /> -->[8, 0, 6], <br /> -->[0, 2, 0], <br /> -->[0, 4, 0], <br /> -->[0, 1, 0], <br /> -->[9, 4, 0], <br /> -->[0, 8, 0]]
</body>
</html>
HTML Web Page Embedded Output:
Example of listing a binary noded array in array form by Binary Tree Algorithm.
ASP VbScript Command:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<SCRIPT RUNAT="SERVER" LANGUAGE="VBScript">
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",Ori_Arry(i),"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i <= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
SrtArry=A
End Function
Function LstTree(Ori_Arry,Tre_Arry)
Dim k, A
A=Tre_Arry
k=0
If A(k) > 0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)))
End If
k=2
If A(k) > 0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)))
End If
LstTree=A
Call LstArry(LstTree,0,0,0)
Response.Write " <br />"
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
'Response.Write " <br /> "
'call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</SCRIPT>
<%
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array <br />"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree Array <br />"
Response.Write LstArry(NewArry,0,0,0)
Response.Write " <br />"
Response.Write "Recursively Noded Binary Tree Array Listing <br />"
Call LstTree(NewArry,NewArry(0))
%>
</body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
Original Array <br />[s, i, d, e, w, a, y, o, u, t] <br /> Noded Binary Tree Array <br />[[1, s, 4],[2, i, 7],[5, d, 3],[0, e, 0],[8, w, 6],[0, a, 0],[0, y, 0],[0, o, 0],[9, u, 0],[0, t, 0]] <br />Recursively Noded Binary Tree Array Listing <br />[0, a, 0] <br />[0, e, 0] <br />[[0, a, 0],d, [0, e, 0]] <br />[0, o, 0] <br />[[[0, a, 0],d, [0, e, 0]],i, [0, o, 0]] <br />[0, t, 0] <br />[[0, t, 0],u, 0] <br />[0, y, 0] <br />[[[0, t, 0],u, 0],w, [0, y, 0]] <br />[[[[0, a, 0],d, [0, e, 0]],i, [0, o, 0]],s, [[[0, t, 0],u, 0],w, [0, y, 0]]] <br />
</body>
</html>
HTML Web Page Embedded Output:
Example of sorting a binary noded array in array form by Binary Tree Algorithm.
ASP VbScript Command:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<SCRIPT RUNAT="SERVER" LANGUAGE="VBScript">
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",Ori_Arry(i),"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i<= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
'response.write " <br />"
'Call LstArry(A,0,0,0)
SrtArry=A
End Function
Function LstTree(Ori_Arry,Tre_Arry,Bin_Arry,i)
Dim k, A
A=Tre_Arry
Call TstArry(Ori_Arry,0,Bin_Arry,A,i)
Bin_Arry(i)=A(1)
i=i+1
Call TstArry(Ori_Arry,2,Bin_Arry,A,i)
LstTree=Bin_Arry
Call LstArry(Bin_Arry,0,0,0)
Response.Write " <br />"
End Function
Sub TstArry(Ori_Arry,k,Bin_Arry,A,i)
If A(k)>0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)),Bin_Arry,i)
End If
End Sub
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
'Response.Write " <br /> "
'call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</SCRIPT>
<%
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array <br />"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree Array <br />"
Response.Write LstArry(NewArry,0,0,0)
Redim BinArry(UBound(OriArry))
Response.Write " <br />"
Response.Write "Recursively Noded Binary Tree Array Sorting <br />"
Call LstTree(NewArry,NewArry(0),BinArry,0)
%>
</body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sample Page</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
Original Array <br />[s, i, d, e, w, a, y, o, u, t] <br /> Noded Binary Tree Array <br />[[1, s, 4],[2, i, 7],[5, d, 3],[0, e, 0],[8, w, 6],[0, a, 0],[0, y, 0],[0, o, 0],[9, u, 0],[0, t, 0]] <br />Recursively Noded Binary Tree Array Sorting <br />[a, , , , , , , , , ] <br />[a, d, e, , , , , , , ] <br />[a, d, e, , , , , , , ] <br />[a, d, e, i, o, , , , , ] <br />[a, d, e, i, o, , , , , ] <br />[a, d, e, i, o, s, t, , , ] <br />[a, d, e, i, o, s, t, u, , ] <br />[a, d, e, i, o, s, t, u, w, y] <br />[a, d, e, i, o, s, t, u, w, y] <br />[a, d, e, i, o, s, t, u, w, y] <br />
</body>
</html>