Solved

array to linked list

Posted on 2006-11-16
3
862 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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Eclipse XML hightlightning 5 55
Visual Studio C# project complains it can't run a dll 5 100
Eclipse Neon start with Admin account only 6 125
C Programming - If Statement 8 76
In our object-oriented world the class is a minimal unit, a brick for constructing our applications. It is an abstraction and we know well how to use it. In well-designed software we are not usually interested in knowing how objects look in memory. …
Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…

772 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