Solved

recursion to iteration

Posted on 1997-12-03
3
212 Views
Last Modified: 2010-05-18
/*structure definition*/
struct data{  char partno[6];
              float cost;
              int quan;
              };
struct node{  struct data dat;
              struct node * link;
           };

/*pre: hd points to a node(usually the first)
 post: the contents of all the nodes from that initial node pointed to by hd to the end of the listhave been printed*/

void print_list(struct node *hd)

{if(hd!= NULL)
      {printf("%s %f %d\n", hd ->dat.partno,  hd>dat.cost,  hd ->dat.quan);
       print_list(hd ->link);
       }
}
     this is a recursive function for printing the elements on a list.  How can i write a new implementation of the function that does not use recursion but iteration instead.
0
Comment
Question by:ch4
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 1256500
while( hd != NULL ){
        printf("%s %f %d\n", hd ->dat.partno, hd>dat.cost, hd->dat.quan);
        hd = hd ->link;
}
0
 
LVL 10

Accepted Solution

by:
rbr earned 150 total points
ID: 1256501
use
void print_list (struct node *hd)
{
   while (hd != NULL) {
          printf ("%s %f %d\n",hd->dat.partno,hd->dat.cost,hd->dat.quan);
      hd=hd->link
   }
}
0
 
LVL 10

Expert Comment

by:rbr
ID: 1256502
All rbr has done is regurgitate ozo's answer. Give the points
to ozo.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question