{"text_format":"3","workbook":"xlsx","n_sheets":3,"sheets":["stack","queue","tree"],"not_rendered":{"macros":1},"read":"whole","date_system":"1900"}

{"sheet":"stack","index":0,"n_rows":18,"n_cols":11,"rows_kept":18,"merged":[[3,10,4,16]]}
[]
[]
[{"$nulls":10},"Note:"]
[{"$nulls":10},"A cell in Column A with its adjoining cell in  Column B is taken as a singly linked list; the next adjoining cell in Column C store the index of the stack"]
[{"$nulls":6},5666]
[]
[]
[{"$nulls":6},0,{"$nulls":3},"Disclaimer: This Spreadsheet is an attempt to visually represent the"]
[{"$nulls":10},"the workings of the Stack, Queue and Tree and not an VBA implementation of the data structures discussed herein."]
[{"$nulls":10},"Use at your own risk. These worksheets and the VBA code contained within this document are not meant for "]
[{"$nulls":10},"production use in any business, commercial or mission critical software. "]
[{"$nulls":10},"The author is not responsible for any damages that may be caused "]
[]
[{"$nulls":10},"To get a better understanding of implementing data structures in VBA, Ken Getz's excellent book"]
[{"$nulls":10},"\"VBA Developers Guide\" 2nd Edition is highly recommended."]
[]
[{"$nulls":10},"Abdul Hafeel"]
[{"$nulls":10},"ahafeel@gmail.com"]

{"sheet":"queue","index":1,"n_rows":418,"n_cols":11,"rows_kept":418,"merged":[[3,10,4,16]]}
[]
[]
[{"$nulls":10},"Note:"]
[{"$nulls":10},"A cell in Column A with its adjoining cell in  Column B is taken as a singly linked list; the next adjoining cell in Column C store the index of the queue"]
[{"$nulls":6},"gggggg",545]
[]
[]
[{"$nulls":6},0]
{"$rows_empty":409}
[545,"$A$545",1]

{"sheet":"tree","index":2,"n_rows":18,"n_cols":13,"rows_kept":18}
["NULL","General Ledger",":$B$2:$B$5",{"$nulls":8},16,"<---counter"]
["$B$1","Balance Sheet",":$B$3:$B$9:$B$12:$B$13:$B$14",{"$nulls":6},"New node name --- >",null,{"$f":"IF(L1>0,0,1)","v":0},"<--- Is root yes(1)/no(0)?"]
["$B$2","Current Assets",":$B$4:$B$8",{"$nulls":8},"<--- parent  node"]
["$B$3","Inventories",{"$nulls":3},"Note: Please read"]
["$B$1","Income_statement_",":$B$6:$B$7",null,null,"This example uses the chart of accounts of "]
["$B$5","Income.",{"$nulls":3},"of a standard firm to illustrate the idea of a"]
["$B$5","Revenue",{"$nulls":3},"tree data structure. Care must be taken  in data entry"]
["$B$3","Trade Debtors",{"$nulls":3},"Always ensure that a valid parent node is entered",{"$nulls":4},"Income.","<--- name of node to be found"]
["$B$2","Equity",":$B$10:$B$11",null,null,"This is not a tutorial on sound VBA programming!",{"$nulls":4},"$B$6<$B$5<$B$1","<--- Path to required node (Read Left to Right!)"]
["$B$9","Share Capital"]
["$B$9","Reserves",{"$nulls":3},"This tree is implemented using doubly linked lists"]
["$B$2","Non Current Assets",{"$nulls":3},"cells on either sides of cells in Column B are visualised"]
["$B$2","Non_Current_Liabilities_",":$B$15:$B$16",null,null,"as the two nodes of a doubly linked list. The middle cell"]
["$B$2","Current Liabilities",{"$nulls":3},"i.e. cell in Column B is the data store",{"$nulls":4},"Balance Sheet","<------Node to be deleted"]
["$B$13","Long Term Loans",{"$nulls":8},"Balance Sheet>Current Assets>Equity>Non Current Assets>Non_Current_Liabilities_>Current Liabilities","<------ Path for deletion"]
["$B$13","Overdraft",{"$nulls":3},"I haven't attempted to code the node delete() "]
[{"$nulls":5},"operation in VBA. Too much of recursion involved!"]
[{"$nulls":5},"Nevertheless, the basic idea is conveyed (more or less!!)."]