Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. void add_newpoint(l2l*list, struct point*p , int index){ //Добавление точки в произввольное место (то, что нужно было реализовать)
  2. if(index<=1){ //Поскольку начат отсчет 1-го элемента с единицы
  3. add_beg_l2l(list,p); //То если индекс <=1, значит надо просто добавить в начало элемент
  4. } else if(index>list->size){ //Не помню условия задания, на счет индекса, который больше размера листа
  5. add_end_l2l(list,p); //Поэтому решил просто добавлять его в конец листа, если указываемый индекс больше размера
  6. }else{
  7. point *q=list->beg; //Завожу новую переменную
  8. int i=1;
  9. while(i<index){
  10. q=q->next; //Прохожусь по всем элементам листа, пока не дойду до элемента с нужным индексом
  11. i++;
  12. }
  13. point *qq=q->prev; //Элемент, который перед место, куда вставлять новое значение
  14. qq->next=p;
  15. q->prev=p;
  16. p->next=q;
  17. p->prev=qq;
  18. list->size+=1;
  19. }
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement