linked-list-random-node 1.0.0
Linked List Random Node
Loading...
Searching...
No Matches
main.cpp File Reference
#include <iostream>
#include <vector>
Include dependency graph for main.cpp:

Go to the source code of this file.

Data Structures

struct  ListNode
 Definition for singly-linked list. More...
 
class  Solution
 

Functions

ListNodecreate_list (int n)
 
void print_n_randoms (Solution &sol, int n)
 
void delete_list (ListNode *ptr)
 
int main ()
 

Function Documentation

◆ create_list()

ListNode * create_list ( int  n)

Definition at line 55 of file main.cpp.

56{
57 if (n < 1)
58 return NULL;
59 ListNode* head = new ListNode(0, NULL);
60 ListNode* ptr = head;
61 for (int i = 1; i <= n; ++i)
62 {
63 ptr->next = new ListNode(i, NULL);
64 ptr = ptr->next;
65 }
66 return head;
67}
Definition for singly-linked list.
Definition main.cpp:10
ListNode * next
Definition main.cpp:12

References ListNode::next.

Referenced by main().

◆ delete_list()

void delete_list ( ListNode ptr)

Definition at line 76 of file main.cpp.

77{
78 ListNode* tmp = ptr->next;
79 if (tmp)
80 delete_list(tmp);
81 delete ptr;
82}
void delete_list(ListNode *ptr)
Definition main.cpp:76

References delete_list(), and ListNode::next.

Referenced by delete_list(), and main().

◆ main()

int main ( )

Definition at line 84 of file main.cpp.

85{
86 ListNode* list = create_list(30);
87 Solution sol(list);
88 print_n_randoms(sol, 30);
89 delete_list(list);
90 return 0;
91}
ListNode * create_list(int n)
Definition main.cpp:55
void print_n_randoms(Solution &sol, int n)
Definition main.cpp:69

References create_list(), delete_list(), and print_n_randoms().

◆ print_n_randoms()

void print_n_randoms ( Solution sol,
int  n 
)

Definition at line 69 of file main.cpp.

70{
71 for (int i = 1; i <= n; ++i)
72 cout << "Random " << i << ": " << sol.getRandom() << endl;
73 return;
74}
int getRandom()
Definition main.cpp:49

References Solution::getRandom().

Referenced by main().