Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <malloc.h>
- typedef struct ListElement {
- int value;
- struct ListElement* next;
- } ListElement;
- void Push(ListElement** head, int value) {
- if (!head)
- exit(-1);
- ListElement* t = (ListElement*)malloc(sizeof(ListElement));
- t->value = value;
- t->next = (*head);
- (*head) = t;
- }
- int Pop(ListElement** head) {
- ListElement* t = NULL;
- int value;
- if (!head)
- exit(-1);
- t = *head;
- value = t->value;
- (*head) = (*head)->next;
- free(t);
- return value;
- }
- void PrintList(ListElement* head) {
- while (head) {
- printf("%4d", head->value);
- head = head->next;
- }
- printf("\n");
- }
- void DestroyList(ListElement** head) {
- if (!head)
- exit(-1);
- if (!(*head))
- exit(-1);
- ListElement* tmp = NULL;
- while ((*head)->next) {
- tmp = (*head);
- (*head) = (*head)->next;
- free(tmp);
- }
- free(*head);
- }
- int main() {
- ListElement* head = NULL;
- int n;
- scanf("%d", &n);
- for (int i = 0; i < n; i++)
- {
- Push(&head, i + 1);
- }
- PrintList(head);
- DestroyList(&head);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement