IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Модификация программы
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Здравствуйте.
Подскажите пожалуйста такое дело:
Код


void insert(char *s)
{
    list *curr;

    pthread_mutex_lock(&mut);
    curr = (list *)malloc(sizeof(list));
    if (!curr) {
     printf("malloc error.\n");
    } else {
     strncpy(curr->s, s, 80);
     curr->next = head;
     head = curr;
     count++;
    }
    pthread_mutex_unlock(&mut);
}
...
...
...


void vesicule()
{
    list *prev, *curr;
    int i;

    if (!head) {
     count = 0;
     return;
    }
    for (i = 0; i < count; i++) {
     prev = NULL;
     curr = head;
     while (curr && curr->next) {
         if (strcmp(curr->s, curr->next->s) > 0) {
          if (prev) {
              prev->next = curr->next;
          } else {
              head = head->next;
          }
          oins(curr->next, curr);
         }
             prev = curr;
         curr = curr->next;
     }
    }
    count = 0;
...
...
...
int oins(list *head, list *item)
{
    int i = 0;
    list *curr = head, *prev = NULL;

    if (!head)
     return (0);
    while (curr && (strcmp(item->s, curr->s) > 0)) {
     prev = curr;
     curr = curr->next;
     i++;
    }

    if (prev) {
     prev->next = item;
     item->next = curr;
    }
    return (i);
}





вот в функции vesicule , как изменить цикл так, чтобы обмен строк (функция oins) происходил не для всех i - количества строк, а останавливался, когда просто нет строк, которые надо менять. Ну в меру возможного подскажите. Заранее благодарю

Сообщение отредактировано: Quant -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.10.2021 9:07
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name