Q:

How to draw the following picture in LaTeX? 

How to draw the following picture in LaTeX,

I tried to use the following code but it doesn't work. 
\begin{figure}[H]
\centering
\begin{tikzpicture}
  \matrix[matrix of nodes,row sep=2em] (m)
  {
    $N$: & 1      & 2      & 3      & 4  &\ldots          &n-1   &n     \\
    $N'$:& 2       & 3      & 4      & 5  &\ldots          &n     & n+1 \\
  };
  \foreach \y in {1,2,3,4,n-1,n} {
    \foreach \x in {2,3,4,5,n,n+1} {
      \draw[<->] (m-\y-\x) -- (m-2-\x);
    }
  }
\end{tikzpicture}
\captionsetup{labelformat=empty}
\caption{\label{fig:f4}Figure 1.4}
\end{figure}

A:

If a non-tikz solution is fine you can use simply a matrix
\documentclass{article}

\usepackage{amsmath} % defines matrix

\begin{document}

\[
{
\addtolength{\arraycolsep}{.5em}
\begin{matrix}
N\colon  & 1 & 2 & 3 & 4 & \dots & n-1 & n & \dots \\
& \updownarrow & \updownarrow & \updownarrow & \updownarrow & & \updownarrow & \updownarrow \\
N'\colon & 2 & 3 & 4 & 5 & \dots & n & n+1 & \dots \\
\end{matrix}}
\]

\end{document}

The width of the matrix columns (\arraycolsep) has been slightly increased, otherwise the result would have been too tight.  The grouping {...} restricts the redefinition of \arraycolsep to this matrix alone: it isn't necessary in this example, for the math mode \[...\] also acts a a group, but it would be necessary if you had other matrices in the same displayed math formula. 

A:

TikZ doesn't name your nodes by their contents so you can't refer to the nodes as 1,2,3,4,5,n,n+1.   Rather you have to refer to them by their position, so you want the 2nd, 3rd, 4th (etc) nodes across.   You also only need to iterate over the columns since you're doing one thing to each column and not doing anything on a per-row basis. 
\documentclass{article}
%\url{http://tex.stackexchange.com/q/303682/86}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}
  \matrix[matrix of math nodes,row sep=1cm,column sep=.5cm] (m)
  {
    N: & 1      & 2      & 3      & 4  &\ldots          &n-1   &n     \\
    N':& 2       & 3      & 4      & 5  &\ldots          &n     & n+1 \\
  };
  \foreach \x in {2,3,4,5,7,8} {
    \draw[<->] (m-1-\x) -- (m-2-\x);
  }
\end{tikzpicture}
\end{document}

As all your nodes are actually maths, you can use matrix of math nodes.   I also spaced out the columns a little. 

(I lied a little.   You can get TikZ to name the nodes whatever you like.   However, in this case I think that using the positions is as simple a naming scheme as any.) 

A:

the cells of the table should be numbered with the number of line and column, here is a solution
Please note, your source can not be compiled, the next time, proposes a minimum compilable source
\documentclass[10pt]{article}
\usepackage{tikz}
\usetikzlibrary{decorations, positioning, intersections, calc,matrix}%
\usepackage{amsmath,amssymb}
\usepackage{bodegraph}

%\usepackage{align}

\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
  \matrix[matrix of nodes,row sep=2em] (m)
  {
    $N$: & 1      & 2      & 3      & 4  &\ldots          &n-1   &n     \\
    $N'$:& 2       & 3      & 4      & 5  &\ldots          &n     & n+1 \\
  };
  \foreach \y in {2,3,4,...,8} {
      \draw[<->] (m-1-\y) -- (m-2-\y);
  }
\end{tikzpicture}
\caption{\label{fig:f4}Figure 1.4}
\end{figure}

\end{document} 

