tag:blogger.com,1999:blog-6314876008291942531.post7914253230505878721..comments2024-01-14T00:36:43.430-08:00Comments on Antonio Gulli's coding playground: From list of lists to listUnknownnoreply@blogger.comBlogger1125tag:blogger.com,1999:blog-6314876008291942531.post-45633562711013287122011-06-11T00:49:30.510-07:002011-06-11T00:49:30.510-07:00How about this:
struct NodeT;
typedef struct Node...How about this:<br /><br />struct NodeT;<br />typedef struct NodeT Node;<br /><br />struct NodeT {<br /> Node* m_next_main;<br /> Node* m_next_sublist;<br />};<br /><br />/*<br /> * Flattens a sublist, returns a pointer to the last element in the list.<br /> */<br /><br />Node* flatten(Node* head)<br />{<br /> Node* last;<br /> Node* n;<br /><br /> for (n = head; n; n = n->m_next_main) {<br /> last = n;<br /><br /> if (n->m_next_sublist) {<br /> Node* t = n->m_next_main;<br /> n->m_next_main = n->m_next_sublist;<br /> n->m_next_sublist = 0;<br /> flatten(n)->m_next_main = t;<br /> }<br /> } while ((n = n->m_next_main) != 0);<br /><br /> return last;<br />}janmhttps://www.blogger.com/profile/13361560903657668505noreply@blogger.com