Solved

array to linked list

Posted on 2006-11-16
3
864 Views
Last Modified: 2013-12-14
hi,
How can I convert array to linked list.
for example, an array
int t [3][3]={  {3,3,4},
                {8,2,1},
                {3,3,4}
              };      

how to represent t[0][0] t[0][1]....t[2][2] with their value by linked list
single linked list or double linked list?
could someone give me a detail example or sample code..

thanks

0
Comment
Question by:rmtogether
  • 2
3 Comments
 
LVL 19

Expert Comment

by:BrianGEFF719
ID: 17960601
You could create a 'standard' linked list whose nodes are integer arrays of size 3.

For an example of a linked list see:
http://vergil.chemistry.gatech.edu/resources/programming/c-tutorial/lists.html

0
 
LVL 1

Expert Comment

by:pattjin
ID: 17960829
Don't forget to check for failed mallocs.  This code adds the list entrys in reverse order to avoid having to keep track of the last pointer. At the end, head will point to the value of  t[0][0], next t[0][1], t[0][2], t[1][0], and so forth until t[2][2];

int t [3][3]={  {3,3,4},
                {8,2,1},
                {3,3,4}
              };  

struct list_entry {
     struct list_entry *next;
     int val;
};

struct list_entry *head = NULL;
for (i=3; i>=0; i--) {
   for (j=3; j>=0; j--) {
       struct list_entry *cur = malloc(sizeof(struct list_entry));
       cur->val = t[i][j];
       cur->next = head;
       head = cur;
   }
}
0
 
LVL 1

Accepted Solution

by:
pattjin earned 500 total points
ID: 17960844
oops, that should be i = 2 and j = 2... I just noticed it since I wrote it forwards the first time and then just reversed it:

for (i=2; i>=0; i--) {
   for (j=2; j>=0; j--) {
       struct list_entry *cur = malloc(sizeof(struct list_entry));
       cur->val = t[i][j];
       cur->next = head;
       head = cur;
   }
}
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

829 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