Программа, которая сортитует список из целых чисел. Числа вводятся с терминала, результат выводится на терминал. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! В программе нужно отсортировать список. Я пыталась, не разрывая связей между элементами списка, менять только информационную часть. Методом пузырьков. Но отсортировать не получается. Если не сложно, подскажите пожалуйста, где может быть ошибка.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
struct sp
{
    int a;
    sp *next;
};
 
void add_record(sp **start, sp **last, int n)
{
    int i;
    sp *nov;
    for (i=1; i<=n; i++)
    {
        nov=(sp*)malloc(sizeof(sp));
        nov->next=NULL;
        printf("\nput an element ");
        scanf("%d", &(nov->a));
        if ((*last)==NULL)
        {
            (*start)=nov;
            (*last)=nov;
        }
        else
        {
            (*last)->next=nov;
            (*last)=nov;
        }
    }
}
void read_list(sp *start)
{
    while (start!=NULL)
    {
        printf("%d ",start->a);
        start=start->next;
    }
}

void delete_list(sp **start)
{
    sp *pr;
    pr=NULL;
    while (*start!=NULL)
    {
        pr=(*start);
        (*start)=(*start)->next;
        free(pr);
    }
}
 
void main()
{
    clrscr();
    sp *start, *last, *pr, *cur;
    int n, b, i, j;
    start=NULL; last=NULL;
    printf("\nPut a number of elements ");
    scanf("%d",&n);
    add_record(&start,&last,n);
 
    pr=NULL;
    cur=start;
    for (i=1; i<=n; i++)
    {
        for (j=n; j<i; j--)
        {
            pr=cur;
            cur=cur->next;
            if ((cur->a)>(pr->a))
            {
                b=cur->a;
                cur->a=pr->a;
                pr->a=b;
            }
        }
        cur=start;
    }

    read_list(start);
    delete_list(&start);
 
}

Решение задачи: «Программа, которая сортитует список из целых чисел. Числа вводятся с терминала, результат выводится на терминал.»

textual
Листинг программы
for (j=n; j>i; j--)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы