title: I want an efficient sorting algorithm to sort an array
body: <pre><code>for (int i = 1; i &lt; data.Count; i++) 
  {
      int j = i;
      while (j &gt; 0)
      {
          if (numarray[j - 1] &gt; numarray[j])
          {   
              int temp = numarray[j - 1];
              numarray[j - 1] = numarray[j];
              numarray[j] = temp;
              j--;
  
          }
  
          else
              break;
      }
  }
  </code></pre>
  
  <p>Can someone help me identify what is the sorting algorithm of the above code? I know that bubble sort is not very efficient. If I am to use insertion sort algorithm instead, how can I improve the above code. Thankyou!</p>