/******************************************************************************
Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <stdio.h>
#include<stdlib.h>
struct node {
int data;
struct node *next;
};
struct node* insert(struct node* node, int data){
if(node == NULL){
struct node
*temp
= (struct node
*)malloc(sizeof(struct node
));
temp->data = data;
temp->next = NULL;
return temp;
}else {
node->next = insert(node->next, data);
}
return node;
}
void print(struct node* head){
while(head != NULL){
head = head->next;
}
}
struct node* delete(struct node* node, int data){
struct node* prev = NULL;
struct node* temp = NULL;
while(node != NULL) {
if(node->data != data){
prev = node;
node = node->next;
} else {
if(node->next == NULL) {
temp = node;
prev->next = NULL;
break;
} else {
temp = node->next;
*node = *temp;
}
}
}
}
int main()
{
struct node* head = NULL;
head = insert(head, 6);
insert(head, 2);
insert(head, 6);
insert(head, 4);
insert(head, 1);
insert(head, 4);
insert(head, 5);
insert(head, 8);
insert(head, 6);
print(head);
delete(head, 6);
print(head);
return 0;
}
Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmxpbmUgQyBDb21waWxlci4KICAgICAgICAgICAgICAgIENvZGUsIENvbXBpbGUsIFJ1biBhbmQgRGVidWcgQyBwcm9ncmFtIG9ubGluZS4KV3JpdGUgeW91ciBjb2RlIGluIHRoaXMgZWRpdG9yIGFuZCBwcmVzcyAiUnVuIiBidXR0b24gdG8gY29tcGlsZSBhbmQgZXhlY3V0ZSBpdC4KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgpzdHJ1Y3Qgbm9kZSB7IAogICAgaW50IGRhdGE7CiAgICBzdHJ1Y3Qgbm9kZSAqbmV4dDsKfTsKCgpzdHJ1Y3Qgbm9kZSogaW5zZXJ0KHN0cnVjdCBub2RlKiBub2RlLCBpbnQgZGF0YSl7CiAgICBpZihub2RlID09IE5VTEwpewogICAgICAgIHN0cnVjdCBub2RlICp0ZW1wID0gKHN0cnVjdCBub2RlKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBub2RlKSk7CiAgICAgICAgCiAgICAgICAgdGVtcC0+ZGF0YSA9IGRhdGE7CiAgICAgICAgdGVtcC0+bmV4dCA9IE5VTEw7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHRlbXA7CiAgICB9ZWxzZSB7CiAgICAgICAgbm9kZS0+bmV4dCA9IGluc2VydChub2RlLT5uZXh0LCBkYXRhKTsKICAgICAgICAKICAgIH0KICAgIHJldHVybiBub2RlOwp9ICAgCgoKdm9pZCBwcmludChzdHJ1Y3Qgbm9kZSogaGVhZCl7CiAgICB3aGlsZShoZWFkICE9IE5VTEwpewogICAgICAgIHByaW50ZigiJWRcbiIsIGhlYWQtPmRhdGEpOwogICAgICAgIGhlYWQgPSBoZWFkLT5uZXh0OwogICAgfQogICAgcHJpbnRmKCJcblxuIik7Cn0KCgpzdHJ1Y3Qgbm9kZSogZGVsZXRlKHN0cnVjdCBub2RlKiBub2RlLCBpbnQgZGF0YSl7CiAgICAKICAgIHN0cnVjdCBub2RlKiBwcmV2ID0gTlVMTDsKICAgIHN0cnVjdCBub2RlKiB0ZW1wID0gTlVMTDsKICAgIHdoaWxlKG5vZGUgIT0gTlVMTCkgewogICAgICAgIGlmKG5vZGUtPmRhdGEgIT0gZGF0YSl7CiAgICAgICAgICAgIHByZXYgPSBub2RlOwogICAgICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZihub2RlLT5uZXh0ID09IE5VTEwpIHsKICAgICAgICAgICAgICAgIHRlbXAgPSBub2RlOwogICAgICAgICAgICAgICAgcHJldi0+bmV4dCA9IE5VTEw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRlbXAgPSBub2RlLT5uZXh0OwogICAgICAgICAgICAgICAgKm5vZGUgPSAqdGVtcDsKICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZnJlZSh0ZW1wKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKCkKewogICAgc3RydWN0IG5vZGUqIGhlYWQgPSBOVUxMOwogICAgaGVhZCA9IGluc2VydChoZWFkLCA2KTsKICAgIGluc2VydChoZWFkLCAyKTsKICAgIGluc2VydChoZWFkLCA2KTsKICAgIGluc2VydChoZWFkLCA0KTsKICAgIGluc2VydChoZWFkLCAxKTsKICAgIGluc2VydChoZWFkLCA0KTsKICAgIGluc2VydChoZWFkLCA1KTsKICAgIGluc2VydChoZWFkLCA4KTsKICAgIGluc2VydChoZWFkLCA2KTsKICAgIAogICAgcHJpbnQoaGVhZCk7CiAgICAKICAgIGRlbGV0ZShoZWFkLCA2KTsKICAgIAogICAgcHJpbnQoaGVhZCk7CgogICAgcmV0dXJuIDA7Cn0K