Heim  >  Artikel  >  Web-Frontend  >  JS-Sortierung: Algorithmusprinzip und Code-Implementierung der JS-Einfügungssortierung

JS-Sortierung: Algorithmusprinzip und Code-Implementierung der JS-Einfügungssortierung

不言
不言Original
2018-08-14 15:33:301644Durchsuche

Der Inhalt dieses Artikels befasst sich mit der JS-Sortierung: dem Algorithmusprinzip und der Code-Implementierung der JS-Einfügungssortierung. Ich hoffe, dass er für Sie hilfreich ist.

Algorithmusprinzip

Einfügesortierung ist ein einfacher und intuitiver Sortieralgorithmus. Es funktioniert ganz ähnlich wie wir Spielkarten zeichnen.
Für unsortierte Daten (Karten in der rechten Hand gefangen) scannen Sie von hinten nach vorne in der sortierten Reihenfolge (Karten hinten links), suchen Sie die entsprechende Position und fügen Sie sie ein.
Bei der Implementierung der Einfügesortierung wird normalerweise die In-Place-Sortierung verwendet. Daher müssen die sortierten Elemente während des Scanvorgangs wiederholt nach und nach nach hinten verschoben werden, um Platz für die Einfügung der neuesten Elemente zu schaffen.

Der spezifische Algorithmus wird wie folgt beschrieben (sortiert von klein nach groß):

  • Ab dem ersten Element kann davon ausgegangen werden, dass dieses Element sortiert wurde.

  • Nehmen Sie das nächste Element und scannen Sie es von hinten nach vorne in der sortierten Reihenfolge der Elemente

  • Wenn das Element (sortiert) größer als das ist Neues Element: Verschieben Sie das neue Element an die nächste Position (d. h. Positionstransposition, verschieben Sie eine Position nach vorne).

  • Wiederholen Sie Schritt 3, bis Sie ein sortiertes Element finden, das kleiner oder gleich dem neuen Element ist. Das heißt, es wird kein Vorwärtsscan durchgeführt. An der aktuellen Position wird ein neues Element eingefügt.

  • Wiederholen Sie die Schritte 2-4.

JS-Sortierung: Algorithmusprinzip und Code-Implementierung der JS-Einfügungssortierung

Der spezifische Algorithmus wird wie folgt beschrieben (sortiert vom größten zum kleinsten):

  • Ab dem ersten Element kann davon ausgegangen werden, dass das Element sortiert wurde.

  • Nehmen Sie das nächste Element und scannen Sie es von hinten nach vorne in der sortierten Reihenfolge der Elemente

  • Wenn das Element (sortiert) kleiner ist als das Neues Element, verschieben Sie das neue Element an die nächste Position (d. h. Positionstransposition, verschieben Sie eine Position nach vorne).

  • Wiederholen Sie Schritt 3, bis Sie ein sortiertes Element finden, das größer oder gleich dem neuen Element ist. Das heißt, es wird kein Vorwärtsscan durchgeführt. An der aktuellen Position wird ein neues Element eingefügt.

  • Wiederholen Sie die Schritte 2-4.

Code-Implementierung

  • Einfügesortierung implementiert Array-Sortierung von klein nach groß

function mintomax(par) {
  for (var i = 1; i = 0; j--) {
      if (par[j + 1] = par[j]) {
        break;
      }
    }
  }
  return par;
}
var arr = [11, 2, 3, 445, 7, 32, 71, 8, 94];
console.log(mintomax(arr));
  • Einfügungssortierung implementiert Array-Sortierung von klein nach groß, während

function mintomax(par){
  for(var i=1; i<par.length>=0 && par[j]>par[j+1]){
      [par[j],par[j+1]]=[par[j+1],par[j]];
      j--;
    }
  }
  return par;
}
var arr = [11, 2, 3, 445, 7, 32, 71, 8, 94];
console.log(mintomax(arr));</par.length>
  • Einfügungssortierung implementiert Array-Sortierung von groß nach klein

function maxtomin(par) {
  for (var i = 1; i = 0; j--) {
      if (par[j + 1] > par[j]) {
        [par[j],par[j+1]]=[par[j+1],par[j]];
      } else if (par[j + 1] 
  • Einfügesortierung implementiert das Sortieren des Arrays von groß nach klein und implementiert gleichzeitig

function maxtomin(par){
  for(var i=1; i<par.length>=0 && par[j]<par var console.log><ul class=" list-paddingleft-2"><li><p>Sortieren in der Reihenfolge der Eltern-Kind-Kacheln </p></li></ul><pre class="brush:php;toolbar:false">function datatotree(par) {
  for (var i = 1; i =0; j--) {
      var str1=par[j].GLZDXM+par[j].ZDXM_STDCODE;
      var str2=par[j+1].GLZDXM+par[j+1].ZDXM_STDCODE;
      if(par[j].GLZDXM==null){
        str1=par[j].ZDXM_STDCODE;
      }
      if(data[j+1].GLZDXM==null){
        str2=par[j+1].ZDXM_STDCODE;
      }
      if (str2 = str1){
        break;
      }
    }
  }
  return par;
}
var data = [{
    ZDXM_STDCODE: '100101',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '1001',
  },
  {
    ZDXM_STDCODE: '1001',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '',
  },
  {
    ZDXM_STDCODE: '100102',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '1001',
  },
  {
    ZDXM_STDCODE: '100201',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '1002',
  },
  {
    ZDXM_STDCODE: '1002',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '',
  },
  {
    ZDXM_STDCODE: '100202',
    ZDXM_STDNAME: '',
    FINA_YYSR: '',
    FINA_PGZHSY: '',
    FINA_SJZHSY: '',
    FINA_PGZHSYL: '',
    FINA_SJZHSYL: '',
    FINA_ZHSYLCE: '',
    FINA_SRJJL: '',
    FINA_JSSKL: '',
    FINA_HTE: '',
    GLZDXM: '1002',
  },
]
console.log(datatotree(data));
  • Das Ergebnis nach dem Sortieren des obigen Codes

JS-Sortierung: Algorithmusprinzip und Code-Implementierung der JS-Einfügungssortierung

Verwandte Empfehlungen:

JS implementiert Blasensortierung, Einfügungssortierung und Schnellsortierung und sortiert die Ausgabe

PHP verwendet js zum Sortieren von Tabellen, PHPJS-Tabellensortierung

JS implementiert Zählsortierung und Radix-Sortieralgorithmus-Beispiele_Javascript-Kenntnisse


Das obige ist der detaillierte Inhalt vonJS-Sortierung: Algorithmusprinzip und Code-Implementierung der JS-Einfügungssortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn