Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void delete_section(Shop *a, Shop *b) {
- Shop *temp;
- Shop *temp2;
- if (((a == last) && (b == first)) || ((b == last) && (a == first))) {
- delete_all();
- return;
- }
- if ((a == first) && (b != last)) {
- temp = a;
- while (temp->next != b->next)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- first = b->next;
- return;
- }
- if ((b == first) && (a != last)) {
- temp = a;
- while (temp->next != b->next)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- first = b->next;
- return;
- }
- if ((b == last) && (a != first)) {
- temp = a;
- temp2 = a->prev;
- while (temp != last)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- last = temp2;
- last->next = NULL;
- return;
- }
- if ((a == last) && (b != first)) {
- temp = a;
- temp2 = a->prev;
- while (temp != last)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- last = temp2;
- last->next = NULL;
- return;
- }
- if ((a != last) && (b != first)) {
- if (a->number > b->number) {
- temp = b;
- temp2 = b->prev;
- while (temp->next != a->next)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- temp2->next = a->next->next->prev;
- a->next->next->prev = temp2;
- }
- if (a->number < b->number) {
- temp = a;
- temp2 = a->prev;
- while (temp->next != b->next)
- {
- free(temp->name);
- temp = temp->next;
- free(temp->prev);
- }
- temp2->next = b->next->next->prev;
- b->next->next->prev = temp2;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement