DaveM@8: function leaf = traverseDownOneStep(linkList,leaf,row) DaveM@8: DaveM@8: %% leaf = traverseDownOneStep(linkList,leaf,row) DaveM@8: % Recursive function which given a linkList, will search a given row, and DaveM@8: % if the row is a leaf, it will append the leaf to the end of the leaf DaveM@8: % list, otherwise, it will recursively call the function to identify the DaveM@8: % two leaves for the branches it has discovered DaveM@8: DaveM@8: listSize = size(linkList,1)+1; DaveM@8: if(row > listSize) DaveM@8: row = row-listSize; DaveM@8: end DaveM@8: DaveM@12: if (row == listSize) DaveM@12: leaf = row; DaveM@8: else DaveM@12: leaf1 = linkList(row,1); DaveM@12: leaf2 = linkList(row,2); DaveM@12: DaveM@12: if(leaf1 > listSize) DaveM@12: leaf = traverseDownOneStep(linkList,leaf,leaf1); DaveM@12: else DaveM@12: leaf = cat(1,leaf,leaf1); DaveM@12: end DaveM@12: DaveM@12: if(leaf2 > listSize) DaveM@12: leaf = traverseDownOneStep(linkList,leaf,leaf2); DaveM@12: else DaveM@12: leaf = cat(1,leaf,leaf2); DaveM@12: end DaveM@8: end DaveM@8: end