#include<string.h>
#include <stdio.h>
#include <stdlib.h>
struct node{
int key;
int value;
struct node *next;
};
struct LinkedList {
struct node *head;
};
void createNode(int key, int value, struct node **node) {
struct node
*new_node
= malloc(sizeof(struct node
)); new_node->key = key;
new_node->value = value;
new_node->next = NULL;
struct node **tmp = node;
while(*tmp != NULL)
*tmp = (*tmp)->next;
*tmp = new_node;
}
void traverseNode(struct LinkedList *lList) {
struct node * current = lList->head;
while(current != NULL) {
printf("Key: %i, Value: %i", current
->key
, current
->value
); current = current->next;
}
}
int main()
{
struct LinkedList
*lList
= malloc(sizeof(struct LinkedList
)); lList->head = NULL;
createNode(1,1,&lList->head);
traverseNode(lList);
}
I2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CgpzdHJ1Y3Qgbm9kZXsKICBpbnQga2V5OwogIGludCB2YWx1ZTsKICBzdHJ1Y3Qgbm9kZSAqbmV4dDsKfTsKCnN0cnVjdCBMaW5rZWRMaXN0IHsKICBzdHJ1Y3Qgbm9kZSAqaGVhZDsKfTsKCnZvaWQgY3JlYXRlTm9kZShpbnQga2V5LCBpbnQgdmFsdWUsIHN0cnVjdCBub2RlICoqbm9kZSkgewogIHN0cnVjdCBub2RlICpuZXdfbm9kZSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IG5vZGUpKTsKICBuZXdfbm9kZS0+a2V5ID0ga2V5OwogIG5ld19ub2RlLT52YWx1ZSA9IHZhbHVlOwogIG5ld19ub2RlLT5uZXh0ID0gTlVMTDsKICBzdHJ1Y3Qgbm9kZSAqKnRtcCA9IG5vZGU7CiAgd2hpbGUoKnRtcCAhPSBOVUxMKQogICAgICAqdG1wID0gKCp0bXApLT5uZXh0OwogICp0bXAgPSBuZXdfbm9kZTsKCn0KCnZvaWQgdHJhdmVyc2VOb2RlKHN0cnVjdCBMaW5rZWRMaXN0ICpsTGlzdCkgewogIHN0cnVjdCBub2RlICogY3VycmVudCA9IGxMaXN0LT5oZWFkOwogIHdoaWxlKGN1cnJlbnQgIT0gTlVMTCkgewogICAgcHJpbnRmKCJLZXk6ICVpLCBWYWx1ZTogJWkiLCBjdXJyZW50LT5rZXksIGN1cnJlbnQtPnZhbHVlKTsKICAgIGN1cnJlbnQgPSBjdXJyZW50LT5uZXh0OwogIH0KfQoKaW50IG1haW4oKQp7CiAgICBzdHJ1Y3QgTGlua2VkTGlzdCAqbExpc3QgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBMaW5rZWRMaXN0KSk7CiAgICBsTGlzdC0+aGVhZCA9IE5VTEw7CgogICAgY3JlYXRlTm9kZSgxLDEsJmxMaXN0LT5oZWFkKTsKCiAgICB0cmF2ZXJzZU5vZGUobExpc3QpOwp9