Guest User

Untitled

a guest
May 22nd, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.72 KB | None | 0 0
  1.  
  2. list_node2 *f5(list_node2 *head, int k) //head-начало списка
  3. {
  4.     list_node2 *curr=head -> next, *last=0, *next;
  5.     int n=0;
  6.  
  7.     if (k<=0) //Если k<=0 то некорректно задано k
  8.     {
  9.         delete_list2(head);
  10.         return 0;
  11.     }
  12.  
  13.     while (curr)
  14.     {
  15.         next = curr -> next;
  16.         if (strcmp(curr -> s, curr -> pred -> s)>=0)
  17.         {
  18.             n++;
  19.             if (n==k)
  20.                 last=curr;
  21.         }
  22.         else
  23.         {
  24.             if(n>=k)
  25.             {
  26.                 last -> pred -> next = curr;
  27.                 curr -> pred -> next =0;
  28.                 curr -> pred = last -> pred;
  29.                 last -> pred =0;
  30.                 delete_list2(last);
  31.             }
  32.  
  33.             n=0;
  34.         }
  35.         curr = next;
  36.     }
  37.  
  38.     if(n>=k)
  39.             {
  40.                 last -> pred -> next = 0;
  41.                 last -> pred = 0;
  42.                 delete_list2(last);
  43.             }
  44.  
  45.  
  46.     return head;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment