<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?action=history&amp;feed=atom&amp;title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o</id>
	<title>Ordenação por Inserção - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?action=history&amp;feed=atom&amp;title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o"/>
	<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&amp;action=history"/>
	<updated>2026-05-04T12:45:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&amp;diff=2733&amp;oldid=prev</id>
		<title>Root: Ordenação por Inserção moved to Ordenação por Inserção</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&amp;diff=2733&amp;oldid=prev"/>
		<updated>2008-11-12T09:04:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/~david/w/pt/Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&quot; title=&quot;Ordenação por Inserção&quot;&gt;Ordenação por Inserção&lt;/a&gt; moved to &lt;a href=&quot;/~david/w/pt/Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&quot; title=&quot;Ordenação por Inserção&quot;&gt;Ordenação por Inserção&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:04, 12 November 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&amp;diff=1625&amp;oldid=prev</id>
		<title>Root at 13:44, 19 May 2005</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Ordena%C3%A7%C3%A3o_por_Inser%C3%A7%C3%A3o&amp;diff=1625&amp;oldid=prev"/>
		<updated>2005-05-19T13:44:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Ordenação de Vectores ==&lt;br /&gt;
&lt;br /&gt;
Exemplo de preenchimento.&lt;br /&gt;
&lt;br /&gt;
  void init() {&lt;br /&gt;
    int i;&lt;br /&gt;
    vect = (int *)malloc(N * sizeof(int));&lt;br /&gt;
    for (i=0; i &amp;lt; N; i++)&lt;br /&gt;
      vect[i] =  rand() % M;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Implementação do algoritmo.&lt;br /&gt;
&lt;br /&gt;
  void isort() {&lt;br /&gt;
    int i, j;&lt;br /&gt;
    for (i=1; i &amp;lt; N; i++) {&lt;br /&gt;
      int key = vect[i];&lt;br /&gt;
      j = i-1;&lt;br /&gt;
      while (j &amp;gt;= 0 &amp;amp;&amp;amp; vect[j] &amp;gt; key) {&lt;br /&gt;
        vect[j+1] = vect[j];&lt;br /&gt;
        j--;&lt;br /&gt;
      }&lt;br /&gt;
      vect[j+1] = key;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== Ordenação de Listas Simplesmente Ligadas ==&lt;br /&gt;
&lt;br /&gt;
Apresentam-se duas versões do algoritmo de ordenação por inserção para [[Listas Simplesmente Ligadas|listas simplesmente ligadas]]: com e sem sentinela.&lt;br /&gt;
&lt;br /&gt;
=== Sem sentinela ===&lt;br /&gt;
&lt;br /&gt;
  void isort() {&lt;br /&gt;
    link pa, pb, px, py, pz;&lt;br /&gt;
  &lt;br /&gt;
    for (px = head-&amp;gt;next, py = head; px != NULL; px = pz) {&lt;br /&gt;
      py-&amp;gt;next = px-&amp;gt;next;&lt;br /&gt;
      pz = px-&amp;gt;next;&lt;br /&gt;
  &lt;br /&gt;
      for (pb=head, pa=pb; pb!=pz; pa=pb, pb=pb-&amp;gt;next) {&lt;br /&gt;
        if (pb-&amp;gt;item &amp;gt; px-&amp;gt;item)&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
      if (pa == pb) { head = px; }&lt;br /&gt;
      else          { pa-&amp;gt;next = px; }&lt;br /&gt;
      px-&amp;gt;next = pb;&lt;br /&gt;
      if (pb == pz) { py = px; }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== Com Sentinela ===&lt;br /&gt;
&lt;br /&gt;
Criação e inicialização da lista.&lt;br /&gt;
&lt;br /&gt;
  void init() {&lt;br /&gt;
    int i;&lt;br /&gt;
    link t, u, a;&lt;br /&gt;
    heada = (link)malloc(sizeof *heada);&lt;br /&gt;
    headb = (link)malloc(sizeof *headb);&lt;br /&gt;
    a = heada;&lt;br /&gt;
    for (i = 0, t = a; i &amp;lt; N; i++) {&lt;br /&gt;
      t-&amp;gt;next = malloc(sizeof *t); &lt;br /&gt;
      t = t-&amp;gt;next; t-&amp;gt;next = NULL;&lt;br /&gt;
      t-&amp;gt;item = rand() % M; &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Algoritmo de ordenação.&lt;br /&gt;
&lt;br /&gt;
  void isort() {&lt;br /&gt;
    link t, u, x, b;&lt;br /&gt;
  &lt;br /&gt;
    b = headb; b-&amp;gt;next = NULL;&lt;br /&gt;
    for (t = heada-&amp;gt;next; t != NULL; t = u) {&lt;br /&gt;
      u = t-&amp;gt;next;&lt;br /&gt;
      for (x = b; x-&amp;gt;next != NULL; x = x-&amp;gt;next)&lt;br /&gt;
        if (x-&amp;gt;next-&amp;gt;item &amp;gt; t-&amp;gt;item) break;&lt;br /&gt;
      t-&amp;gt;next = x-&amp;gt;next; x-&amp;gt;next = t; &lt;br /&gt;
    }&lt;br /&gt;
    heada-&amp;gt;next = headb-&amp;gt;next;&lt;br /&gt;
    headb-&amp;gt;next = NULL;&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Root</name></author>
	</entry>
</feed>