title: Faster way to sort an array of structs c++
body: <p>I have a struct called count declared called count with two things in it, an int called frequency and a string called word. To simplify, my program takes in a book as a text file and I count how many times each word appears. I have an array of structs and I have my program to where it will count each time a word appears and now I want a faster way to sort the array by top frequency than the way I have below. I used the bubble sorting algorithm below but it is taking my code way too long to run using this method.  Any other suggestions or help would be welcome!! I have looked up sort from the algorithm library but don't understand how I would use it here. I am new to c++ so lots of explanation on how to use sort would help a lot. </p>
  
  <pre><code>void sortArray(struct count array[],int size)
  {
      int cur_pos = 0;
      string the_word;
      bool flag= true;
  
      for(int i=0; i&lt;(size); i++)
      {
          flag = false;
          for(int j=0; j&lt; (size); j++)
          {
              if((array[j+1].frequency)&gt;(array[j].frequency))
              {
                  cur_pos = array[j].frequency;
                  the_word = array[j].word;
                  array[j].frequency = array[j+1].frequency;
                  array[j].word = array[j+1].word;
                  array[j+1].frequency = cur_pos;
                  array[j+1].word = the_word;
                  flag = true;
              }
          }
      }
  };
  </code></pre>