Напишите функцию для вставки целого числа в круговой связанный список _list, элементы которого сортируются в порядке возрастания (от наименьшего к наибольшему).
Входными данными для функции insertSortedList являются указатель start на некоторый узел в круговом списке и целое число n между 0 и 100. Возвращает указатель на только что вставленный узел.
Структура, которой следует следовать для узла кругового связанного списка, такова_
<pre lang="c++">Struct CNode ; Typedef struct CNode cnode; Struct CNode { Int value; Cnode* next; }; Cnode* insertSortedList (cnode* start,int n { //WRITE YOUR CODE HERE } //FUNCTION SIGNATURE ENDS
Тест 1:
Ввод:
[3 - > 4-> 6 - & gt;1 - > 2 - & gt;^], 5
Ожидаемое Возвращаемое Значение:
[5-> 6 - > 1->2->3->4 - & gt;^]
Тест 2:
Ввод:
[1 - > 2->3->4-> 5->^], 0
Ожидаемое Возвращаемое Значение:
[0 - > 1 - >2->3->4-> 5->^]
Что я уже пробовал:
вот мой код
Cnode* insertSortedList (cnode* start,int n) { int count=1,i,count1=0; Cnode* temp=start; Cnode* temp1=start; Cnode* temp2=start; Cnode* newHead=NULL; while(temp!=NULL) { temp=temp->next; count ++; } int arr[count]; arr[0]=n; while(temp2!=NULL) { for(j=1;j<count;j++) { arr[j]=temp->data; temp2=temp2->next; } } while(n>=temp2->value) { temp2=temp2->next; } newHead=temp2; for(i=0;i<count;i++) { Cnode* newNode=new Cnode(); newNode->data=arr[i]; newNode->next=NULL; } return newNode; }
может ли кто-нибудь сказать, что эта логика правильна, и может ли он настроить ссылки и сделать ее круговой
Mehdi Gholam
Домашнее задание - для вашей пользы, а не для нашей.
Richard MacCutchan
// НАПИШИТЕ СВОЙ КОД ЗДЕСЬ
Это инструкция для вас.
Member 12726611
Cnode* insertSortedList (cnode* start,int n)
{
int count=1, i, count1=0;
Cnode* temp=start;
Cnode* temp1=start;
Cnode* temp2=start;
Cnode* newHead=NULL;
while (temp!=NULL)
{
temp=temp - & gt;Далее;
считать ++;
}
int arr[count];
while (temp2!=NULL)
{
для (j=0;j< count; j++)
{
="" ОБР[Дж]=" "темп" -"&ГТ;сведения;
temp2=temp2 - & gt;Далее;
}
}
while (n>=temp2 - & gt;значение)
{
temp2=temp2 - & gt;Далее;
}
newHead=temp2;
for (i=0;i & lt;count; i++)
{
= ""cnode*= ""newnode=" new " cnode();
=""
= ""newnode-=" " > data=arr[i];
newNode - > next=NULL;
}
}
Philippe Mori
Вы должны сами отлаживать программу с помощью отладчика.
Если программа работает не так, как ожидалось, и вам нужна помощь, то расскажите нам точно, что вы получаете и чего ожидали.
Кстати, что представляет ^ в ваших образцовых данных?
Member 14785571
Братан я получаю ошибки