>try implementing a linked list without using pointers.
Code:
#include <iostream>
#include <vector>
struct node {
int data;
int next;
node ( int init, int link )
: data ( init ), next ( link )
{}
};
int main()
{
std::vector<node> list;
// Head insertion
list.push_back ( node ( 0, -1 ) );
for ( int i = 1; i < 10; i++ )
list.push_back ( node ( i, i - 1 ) );
for ( int i = list.size() - 1; list[i].next != -1; i = list[i].next )
std::cout<< list[i].data <<"->";
std::cout<<std::endl;
list.clear();
// Tail insertion
list.push_back ( node ( 0, -1 ) );
for ( int i = 1; i < 10; i++ ) {
list.back().next = i;
list.push_back ( node ( i, -1 ) );
}
for ( int i = 0; list[i].next != -1; i = list[i].next )
std::cout<< list[i].data <<"->";
std::cout<<std::endl;
}