{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["stack","queue","tree"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"stack","index":0,"n_rows":18,"n_cols":11,"rows_kept":18,"cut":false,"hidden":false,"merged":[[3,10,4,16]]}
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Note:"]
[null,null,null,null,null,null,null,null,null,null,"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"]
[null,null,null,null,null,null,1]
[]
[]
[null,null,null,null,null,null,0,null,null,null,"Disclaimer: This Spreadsheet is an attempt to visually represent the"]
[null,null,null,null,null,null,null,null,null,null,"the workings of the Stack, Queue and Tree and not an VBA implementation of the data structures discussed herein."]
[null,null,null,null,null,null,null,null,null,null,"Use at your own risk. These worksheets and the VBA code contained within this document are not meant for "]
[null,null,null,null,null,null,null,null,null,null,"production use in any business, commercial or mission critical software. "]
[null,null,null,null,null,null,null,null,null,null,"The author is not responsible for any damages that may be caused "]
[]
[null,null,null,null,null,null,null,null,null,null,"To get a better understanding of implementing data structures in VBA, Ken Getz's excellent book"]
[null,null,null,null,null,null,null,null,null,null,"\"VBA Developers Guide\" 2nd Edition is highly recommended."]
[]
[null,null,null,null,null,null,null,null,null,null,"Abdul Hafeel"]
[null,null,null,null,null,null,null,null,null,null,"ahafeel@gmail.com"]

{"sheet":"queue","index":1,"n_rows":418,"n_cols":11,"rows_kept":418,"cut":false,"hidden":false,"merged":[[3,10,4,16]]}
[]
[]
[null,null,null,null,null,null,null,null,null,null,"Note:"]
[null,null,null,null,null,null,null,null,null,null,"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"]
[null,null,null,null,null,null,"gggggg",545]
[]
[]
[null,null,null,null,null,null,0]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[545,"$A$545",1]

{"sheet":"tree","index":2,"n_rows":18,"n_cols":13,"rows_kept":18,"cut":false,"hidden":false,"merged":[]}
["NULL","General Ledger",":$B$2:$B$5",null,null,null,null,null,null,null,null,16,"<---counter"]
["$B$1","Balance Sheet",":$B$3:$B$9:$B$12:$B$13:$B$14",null,null,null,null,null,null,"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",null,null,null,null,null,null,null,null,"<--- parent  node"]
["$B$3","Inventories",null,null,null,"Note: Please read"]
["$B$1","Income_statement_",":$B$6:$B$7",null,null,"This example uses the chart of accounts of "]
["$B$5","Income.",null,null,null,"of a standard firm to illustrate the idea of a"]
["$B$5","Revenue",null,null,null,"tree data structure. Care must be taken  in data entry"]
["$B$3","Trade Debtors",null,null,null,"Always ensure that a valid parent node is entered",null,null,null,null,"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!",null,null,null,null,"$B$6<$B$5<$B$1","<--- Path to required node (Read Left to Right!)"]
["$B$9","Share Capital"]
["$B$9","Reserves",null,null,null,"This tree is implemented using doubly linked lists"]
["$B$2","Non Current Assets",null,null,null,"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",null,null,null,"i.e. cell in Column B is the data store",null,null,null,null,"Balance Sheet","<------Node to be deleted"]
["$B$13","Long Term Loans",null,null,null,null,null,null,null,null,"Balance Sheet>Current Assets>Equity>Non Current Assets>Non_Current_Liabilities_>Current Liabilities","<------ Path for deletion"]
["$B$13","Overdraft",null,null,null,"I haven't attempted to code the node delete() "]
[null,null,null,null,null,"operation in VBA. Too much of recursion involved!"]
[null,null,null,null,null,"Nevertheless, the basic idea is conveyed (more or less!!)."]