listiterator — нужна помощь итератора кодирования для циклического связанного списка в переполнении стека

Поэтому я создаю круговой связанный список, чтобы решить проблему Иосифа для задания. У меня был действительно плохой профессор для моего класса C ++, и я действительно не знаю, как что-то делать в C ++. Я пытаюсь написать итератор, чтобы пересечь список, но я понятия не имею, с чего начать и как его реализовать. Кто-нибудь может дать мне предложение или совет, как начать кодировать это?

-8

Решение

Это почти так же, как std::list итератор, за исключением конечного итератора, где следующий указатель является главой списка, а не когда NULL, Ссылочная страница расскажет вам, что вы должны реализовать. Базовое представление будет указателем на узел списка, operator* вернет ссылку на данные, operator++ установит указатель на next, так далее.

В качестве альтернативы используйте реализацию массива с модульной арифметикой.

0

Другие решения

Проблема Иосифа заключается в том, что N человек решили избрать лидера, организовав
сами по себе в круге и устраняя каждого Mth человека по кругу, закрывая ряды, как каждый человек выпадает. Найдите, какой человек будет последним из оставшихся.
Вот очень простая реализация этой проблемы в C ++.

    #include<iostream>
#include<stdio.h>
#include<cstdlib>
#include<stdlib.h>
using namespace std;
struct node
{   int info;
struct node *next;
}arr[]={{rand(),arr+1},{rand(),arr+2},{rand(),arr+3},{rand(),arr+4},{30,arr}};
typedef struct node* Node;
void josephus(Node);
int main()
{
josephus(arr);
system("pause");
}
void josephus(Node head)
{
Node ptr,temp;
int length=1,position,i;
ptr=head;
while(ptr->next!=head)
{
ptr=ptr->next;
length++;
}
ptr=head;
printf(" Enter the position at which element should get eliminated ");
scanf("%d",&position);
while(length>1)
{
i=1;
while(i<position)
{
ptr=ptr->next;
i++;
}
temp=ptr;
ptr=ptr->next;
free(temp);
length--;
}
printf("\n Last Element Left is %d Its address is %u \n",ptr->info,ptr);
}

Для более подробной информации посетите
https://github.com/SahdevKansal02/Data-Structures-And-Algorithms.git

0

По вопросам рекламы [email protected]