Entry
BBCBASIC: Datastructure: Tree: Binary: Create: Simple: New: How to create a new tree in BBCBASIC?
Jul 16th, 2006 05:27
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 04 November 2020 - 12:05 pm -------------------
BBCBASIC: Data structure: Tree: Binary: Create: Simple: New: How to
create a new tree in BBCBASIC?
---
Here is shown a simple creation of a binary tree.
---
--- cut here: begin --------------------------------------------------
DEF FNTreeCreateNewBinaryP( leftP%, rightP%, s$ )
LOCAL P%
P% = binarytreetotalGP% + 1
IF P% > binarytreetotalmaxGP% THEN PROCTreeCreateNewBinaryError
( "binary tree array is full. Please redimension this array", rootGP% )
lP%( P% ) = leftP%
rP%( P% ) = rightP%
s$( P% ) = s$
= P%
:
--- cut here: end ----------------------------------------------------
---
--- cut here: begin --------------------------------------------------
PROCTreeCreateNewBinaryMain( 1, -1, 10 )
END
:
:
:
DEF PROCTreeCreateNewBinaryMain( rootP%, nilP%, dimmaxI% )
REM e.g. PROCTreeCreateNewBinaryMain( 1, -1, 10 )
REM e.g. END
PROCTreeCreateNewBinaryInitDim( dimmaxI% )
PROCTreeCreateNewBinaryStoreData
PROCTreeCreateNewBinaryInitData( dimmaxI% )
ENDPROC
:
DEF PROCTreeCreateNewBinaryInitDim( maxI% )
DIM lP%( maxI% )
DIM rP%( maxI% )
DIM s$( maxI% )
ENDPROC
:
DEF PROCTreeCreateNewBinaryInitData( maxI% )
LOCAL I%
LOCAL minI%
minI% = 1
FOR I% = minI% TO maxI%
READ lP%( I% )
READ rP%( I% )
READ s$( I% )
NEXT I%
ENDPROC
:
DEF PROCTreeCreateNewBinaryStoreData
REM
REM here 3 + 4 * 5 is stored in a binary tree
REM
REM ---
REM
REM the binary tree is represented by arrays
REM
REM ---
REM
REM format:
REM
REM leftpointer, rightpointer, value
REM
REM ---
REM
DATA 2, 3, "*"
DATA 4, 5, "+"
DATA -1, -1, "5"
DATA -1, -1, "3"
DATA -1, -1, "4"
DATA -1, -1, ""
DATA -1, -1, ""
DATA -1, -1, ""
DATA -1, -1, ""
DATA -1, -1, ""
ENDPROC
:
--- cut here: end ----------------------------------------------------
---
---
Internet: see also:
---
BBCBASIC: Windows: Data structure: Link: Overview: Can you give an
overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/41639/fid/768
----------------------------------------------------------------------