img
Question:
Published on: 21 January, 2022

Write a C language function to delete the nth node of a singly-linked list. The error conditions are to be handled properly.

Answer:

Following delete function can be used to delete n-th node from singly linked list. Funtion is written in C.

 

int delete(node * head, int key) {
  node * p, * q;
  int x = 0;
  p = head;
  if (p == Null) {
    printf(“List is empty”);
    return 0;
  } else
    while (p != null && p - > data != key) {
      q = p;
      p = p - > next;
    }
  if (p == head) {
    x = key;
    head = (head) - > next;
    free(p);
  } else {
    If(p - > data == key) {
      x = p - > data;
      q - > next = p - > next;
      free(p);
    }
  }
}
return (x);
Random questions