Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- typedef struct node{
- int val;
- struct node* next;
- }node;
- struct node* Create()
- {
- node* obj =(node* )malloc(sizeof(node));///primul nod este nul
- obj->val = -1;
- obj->next = NULL;
- return obj;
- }
- void AddAtHead(node* obj, int val)
- {
- node *p = (node* )malloc(sizeof(node));
- p->val = val;
- p->next = obj->next;
- obj->next = p;
- }
- void print_list(node* obj)
- {
- while(obj->next != NULL)
- {
- obj = obj->next;
- printf("%d ",obj->val);
- }
- printf("\n");
- }
- node* inversare(node *obj)
- {
- node* temp1 = obj->next;
- node* temp2 = obj->next->next;
- obj = obj->next->next->next;
- temp1->next = NULL;
- while(obj != NULL)
- {
- temp2->next = temp1;
- temp1 = temp2;
- temp2 = obj;
- obj = obj->next;
- }
- temp2->next = temp1;
- obj = temp2;
- node* p = (node*)malloc(sizeof(node));///refac primul nod nul
- p ->val = -1;
- p->next = obj;
- obj = p;
- return obj;
- }
- int main()
- {
- node* obj = Create();
- AddAtHead(obj, 1);
- AddAtHead(obj, 0);
- AddAtHead(obj, 2);
- AddAtHead(obj, 6);
- AddAtHead(obj, 5);
- AddAtHead(obj, 4);
- print_list(obj);
- obj = inversare(obj);
- print_list(obj);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement