
Explanation of Solution
Employing the functions to complete the Example 6.73:
- The Example 6.73 explains about imitating the iterators in C.
- In that example, they decouple the enumeration of a collection from original use of elements by taking appropriate
programming conventions. - There are two differences between the codes.
-
- ○ The syntax of the loop is good and elegant.
- ○ The iterator is simply a type and some associated functions, C gives no abstraction technique to group them together as a class.
- The following program expands the Example 6.73 with the code for “tree_iter type (struct)” and “ti_create”, “ti_done”, “ti_next”, “ti_val”, and “ti_delete” functions.
Program:
//Defining structure to the tree node
typedef struct tree_node
{
//Defining the value in data
data val;
//Defining left and right node using pointers
struct tree_node *left, *right;
} tree_node;
/* a tree_iter contains a list-based stack of
tree_nodes (subtrees) that have yet to be visited */
//Defining the structure for list_ node
typedef struct list_node
{
//Defining the tree_node
tree_node *tn;
//Defining the list_node
struct list_node *next;
} list_node;
//Defining the structure for list_node and tree_iter
typedef list_node *tree_iter;
/*Defining the push method which push the element to the stack based on pointers*/
void ti_push(tree_node *n, tree_iter *tp)
{
if (n)
{
list_node *t = *tp;
*tp = (tree_iter) malloc(sizeof(list_node));
(*tp)->tn = n; (*tp)->next = t;
}
}
/* Creating the tree with tree_node and tree_iter creates assigns 0 to push element*/
void ti_create(tree_node *root, tree_iter *tp)
{
*tp = 0;
ti_push(root, tp);
}
//If adding the element to list is finished, it retruns the ti...

Want to see the full answer?
Check out a sample textbook solution
Chapter 6 Solutions
Programming Language Pragmatics, Fourth Edition
- Describe three (3) Multiplexing techniques common for fiber optic linksarrow_forwardCould you help me to know features of the following concepts: - commercial CA - memory integrity - WMI filterarrow_forwardBriefly describe the issues involved in using ATM technology in Local Area Networksarrow_forward
- For this question you will perform two levels of quicksort on an array containing these numbers: 59 41 61 73 43 57 50 13 96 88 42 77 27 95 32 89 In the first blank, enter the array contents after the top level partition. In the second blank, enter the array contents after one more partition of the left-hand subarray resulting from the first partition. In the third blank, enter the array contents after one more partition of the right-hand subarray resulting from the first partition. Print the numbers with a single space between them. Use the algorithm we covered in class, in which the first element of the subarray is the partition value. Question 1 options: Blank # 1 Blank # 2 Blank # 3arrow_forward1. Transform the E-R diagram into a set of relations. Country_of Agent ID Agent H Holds Is_Reponsible_for Consignment Number $ Value May Contain Consignment Transports Container Destination Ф R Goes Off Container Number Size Vessel Voyage Registry Vessel ID Voyage_ID Tonnagearrow_forwardI want to solve 13.2 using matlab please helparrow_forward
- a) Show a possible trace of the OSPF algorithm for computing the routing table in Router 2 forthis network.b) Show the messages used by RIP to compute routing tables.arrow_forwardusing r language to answer question 4 Question 4: Obtain a 95% standard normal bootstrap confidence interval, a 95% basic bootstrap confidence interval, and a percentile confidence interval for the ρb12 in Question 3.arrow_forwardusing r language to answer question 4. Question 4: Obtain a 95% standard normal bootstrap confidence interval, a 95% basic bootstrap confidence interval, and a percentile confidence interval for the ρb12 in Question 3.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





