• We first introduce Pascal, Stirling, Eulerian, Lah and Bell numbers via sorting, then generalize Stirling numbers of both kinds [■(n@k)], {■(n@k)}, Eulerian numbers of two orders 〈■(n@k)〉, 〈〈■(n@k)〉 〉, Lah numbers L(n,k)=∑_(j=1)^n▒[■(n@j)] {■(j@k)} and ∑_(k=0)^(n-1)▒〖2^k 〈■(n@k)〉 〗=∑_(k=1)^n▒(∑_(j-1)^(k+1)▒[■(k+1@j)] ){■(n@k)} , the right-hand side of which is an ordered Bell polynomial, from the natural sequence based to arithmetically progressive sequences based. We further construct two types of arrays with any infinite sequence base A(i): T(n, k | A(i) | u;v), with T(0,0)=1, and u, v each indicating which weight to be used among W(1)=1, W(2)=A(n-1), W(3)=A(k), W(4)=A(n+k-1) +2A(1)-A(2), W(5)=A(n-k+1), W(6)=A(k+2)-2A(1) and W(7)=A(2n-k) in the recursive formula T(n, k)=W(u)T(n-1,k-1)+W(v)T(n-1,k).
    1. Stirling: u=1, 0≤k≤n and the initial values T(n, 0)=0 for n > 0.
    [■(n@k)]_(a;d)=T(n, k | A(i)=a+(i-1)d | 1;2), [■(n@k)]_(1;1)= [■(n@k)], possessing diagonal (Stirling) polynomials;
    {■(n@k)}_(a;d)=T(n, k | A(i)=a+(i-1)d | 1;3), {■(n@k)}_(1;1)={■(n@k)}, possessing diagonal polynomials;
    Lad(n, k)=T(n, k | A(i)=a+(i-1)d | 1;4), L11(n, k)=L(n, k), possessing diagonal polynomials.
    2. Eulerian: u>1, -1≤k≤n-1 and T(n, 0), n > 0, varies for each array.
    〈■(n@k)〉_(a;d)=T(n, k+1 | A(i)=a+(i-1)d | 5;6), T(n, 0)=[A(2)-2A(1)]T(n-1, 0) for n > 0;
    〈〈■(n@k)〉 〉_(a;d)=T(n, k+1 | A(i)=a+(i-1)d | 7;6), T(n, 0)=[A(2)-2A(1)]T(n-1, 0) for n > 0.

    We shall introduce more Eulerian arrays with various initial values T(n, 0) for n > 0 and prove the existence of the general Stirling polynomials. Python programs are used to produce tables for both types of arrays along with difference tables of their diagonals to facilitate the calculation of diagonal polynomials in the case of existence.