Linked List

Linked List

Why Linked List?

Problems with an array

Array is Fixed-size

for example a[10] toh 10 se jyada store nahi ho skta aur agar 2 elements hi hai toh baaki sab jagh waste ho rahi hai

int a[5]; -> array in stack

int *p = new int[5]; -> array in heap

Benefit: arrays are contiguous toh index se access kr skte hai. It's just like a bench.

Linked List: Jisko bethna ho vo apni chair leke aayga aur jaate vakt leke jayga.

Structure of Linked List

node: data | next

struct Node
int data;
struct Node *next;

How to create a node?
struct Node *P;
P = (struct Node*)malloc(sizeof(struct Node)) //in C
P = new Node; //in C++

How to access members of a Node?
P->data = 10;
P->next = 0; //null

What's next?