Hi! I'm making a linked list where it contains 6 elements and wherein if i roll a dice, starting from the first element, going to the element according to the roll. And then I will roll again but this time, I will start from the element where I stopped from the previous roll.
So if your initial state is 1->2->3->4->5->6 and you roll a 4, you advance to 4.
But if the next roll is a 3, I would circle back to the 1.
I'm basically new to data structure programming :( Help is appreciated.
// C++ program to find n'th
// node in linked list
#include <bits/stdc++.h>
#include <assert.h>
#include <stdlib.h>
usingnamespace std;
// Link list node
class Node
{
public:
int data;
Node* next;
};
/* Given a reference (pointer to
pointer) to the head of a list
and an int, push a new node on
the front of the list. */
void push(Node** head_ref, int new_data)
{
// allocate node
Node* new_node = new Node();
// put in the data
new_node->data = new_data;
// link the old list
// off the new node
new_node->next = (*head_ref);
// move the head to point
// to the new node
(*head_ref) = new_node;
}
// Takes head pointer of
// the linked list and index
// as arguments and return
// data at index
int GetNth(Node* head, int index)
{
Node* current = head;
// the index of the
// node we're currently
// looking at
int count = 0;
while (current != NULL)
{
if (count == index)
return(current->data);
count++;
current = current->next;
}
/* if we get to this line,
the caller was asking
for a non-existent element
so we assert fail */
assert(0);
}
// Driver Code
int main()
{
// Start with the
// empty list
Node* head = NULL;
// Use push() to construct
// below list
// 1->2->3->4->5->6
push(&head, 6);
push(&head, 5);
push(&head, 4);
push(&head, 3);
push(&head, 2);
push(&head, 1);
int dice;
dice = rand() % 6 + 1;
cout << "The dice is: " << dice;
if(dice == 1)
{
}
elseif(dice == 2)
{
}
elseif(dice == 3)
{
}
elseif(dice == 4)
{
}
elseif(dice == 5)
{
}
elseif(dice == 6)
{
}
return 0;
}