Advertisement
Guest User

Untitled

a guest
May 4th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Aleshkino_govno_2.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <Windows.h>
  6. #include <stdio.h>
  7.  
  8. struct list {
  9.     int field;    // поле данных
  10.     struct list *ptr; // указатель на следующий элемент
  11. };
  12.  
  13. struct list *_list;
  14.  
  15. //где то в недрах 500 строк говнокода на си
  16. /*
  17. void Залупа(struct st)
  18. {
  19.     _list = addelem(_list, atoi(st.args[0]));
  20. }
  21. */
  22. struct list * init(int a) {     // а- значение первого узла
  23.     struct list *lst;
  24.     // выделение памяти под корень списка
  25.     lst = (struct list*)malloc(sizeof(struct list));
  26.     lst->field = a;
  27.     lst->ptr = NULL;  // это последний узел списка
  28.     return(lst);
  29. }
  30.  
  31. struct list * addelem(list *lst, int number) {
  32.     struct list *temp, *p;
  33.     temp = (struct list*)malloc(sizeof(struct list));
  34.     p = lst->ptr;  // сохранение указателя на следующий узел
  35.     lst->ptr = temp;  // предыдущий узел указывает на создаваемый
  36.     temp->field = number;  // сохранение поля данных добавляемого узла
  37.     temp->ptr = p;    // созданный узел указывает на следующий элемент
  38.     return(temp);
  39. }
  40.  
  41. void listprint(list *lst) {
  42.     struct list *p;
  43.     p = lst;
  44.     do  {
  45.         printf("%i ", p->field); // вывод значения элемента p
  46.         p = p->ptr; // переход к следующему узлу
  47.     } while (p != NULL);
  48. }
  49.  
  50. int _tmain(int argc, _TCHAR* argv[])
  51. {
  52.     _list = init(1);
  53.     addelem(_list, 2);
  54.     addelem(_list, 3);
  55.     addelem(_list, 4);
  56.     listprint(_list);
  57.     system("pause");
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement