A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Ftemplate%2Fgeneric_sort</id>
		<title>C++ Tutorial/template/generic sort - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Ftemplate%2Fgeneric_sort"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/template/generic_sort&amp;action=history"/>
		<updated>2026-04-17T21:26:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/template/generic_sort&amp;diff=2603&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/template/generic_sort&amp;diff=2603&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/template/generic_sort&amp;diff=2604&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/template/generic_sort&amp;diff=2604&amp;oldid=prev"/>
				<updated>2010-05-25T10:30:04Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A Generic bubble sort==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
template &amp;lt;class X&amp;gt; void bubble(X *items,int count)&lt;br /&gt;
{&lt;br /&gt;
  X t;&lt;br /&gt;
  for(int a=1; a&amp;lt;count; a++)&lt;br /&gt;
    for(int b=count-1; b&amp;gt;=a; b--)&lt;br /&gt;
      if(items[b-1] &amp;gt; items[b]) {&lt;br /&gt;
        t = items[b-1];&lt;br /&gt;
        items[b-1] = items[b];&lt;br /&gt;
        items[b] = t;&lt;br /&gt;
      }&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  int iarray[7] = {7, 5, 4, 3, 9, 8, 6};&lt;br /&gt;
  double darray[5] = {4.3, 2.5, -0.9, 10.2, 3.0};&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Here is unsorted integer array: &amp;quot;;&lt;br /&gt;
  for(int i=0;  i&amp;lt;7; i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; iarray[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  bubble(iarray, 7);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Here is sorted integer array: &amp;quot;;&lt;br /&gt;
  for(int i=0;  i&amp;lt;7; i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; iarray[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Here is unsorted double array: &amp;quot;;&lt;br /&gt;
  for(int i=0;  i&amp;lt;5; i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; darray[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  bubble(darray, 5);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Here is sorted double array: &amp;quot;;&lt;br /&gt;
  for(int i=0;  i&amp;lt;5; i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; darray[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Here is unsorted integer array: 7 5 4 3 9 8 6&lt;br /&gt;
Here is sorted integer array: 3 4 5 6 7 8 9&lt;br /&gt;
Here is unsorted double array: 4.3 2.5 -0.9 10.2 3&lt;br /&gt;
Here is sorted double array: -0.9 2.5 3 4.3 10.2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Generic quick sort==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include&amp;lt;iostream.h&amp;gt;&lt;br /&gt;
#include&amp;lt;iomanip.h&amp;gt;&lt;br /&gt;
#include&amp;lt;cstdlib&amp;gt;&lt;br /&gt;
template&amp;lt;class T&amp;gt;&lt;br /&gt;
inline void swap(T&amp;amp; v1,T&amp;amp; v2)&lt;br /&gt;
{&lt;br /&gt;
  T temp=v2;&lt;br /&gt;
  v2=v1;&lt;br /&gt;
  v1=temp;&lt;br /&gt;
}&lt;br /&gt;
template&amp;lt;class T&amp;gt;&lt;br /&gt;
void quicksort(T *array,int hi,int lo=0)&lt;br /&gt;
{&lt;br /&gt;
  while(hi&amp;gt;lo)&lt;br /&gt;
  {&lt;br /&gt;
    int i=lo;&lt;br /&gt;
    int j=hi;&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
      while(array[i]&amp;lt;array[lo]&amp;amp;&amp;amp;i&amp;lt;j)&lt;br /&gt;
         i++;&lt;br /&gt;
      while(array[--j]&amp;gt;array[lo])&lt;br /&gt;
                 ;&lt;br /&gt;
      if(i&amp;lt;j)&lt;br /&gt;
         swap(array[i],array[j]);&lt;br /&gt;
    }while(i&amp;lt;j);&lt;br /&gt;
    swap(array[lo],array[j]);&lt;br /&gt;
    if(j-lo&amp;gt;hi-(j+1)) {&lt;br /&gt;
       quicksort(array,j-1,lo);&lt;br /&gt;
       lo=j+1;&lt;br /&gt;
    }else{&lt;br /&gt;
       quicksort(array,hi,j+1);&lt;br /&gt;
       hi=j-1;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   int dim = 100;&lt;br /&gt;
   int *arrs=new int[dim+1];&lt;br /&gt;
   for(int i=0;i &amp;lt; dim;i++)&lt;br /&gt;
      arrs[i]=rand();&lt;br /&gt;
   cout &amp;lt;&amp;lt; endl&amp;lt;&amp;lt;&amp;quot;unsorted&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
   for(int i=0;i&amp;lt;dim;i++)&lt;br /&gt;
      cout&amp;lt;&amp;lt;setw(8)&amp;lt;&amp;lt;arrs[i];&lt;br /&gt;
   quicksort(arrs,dim);&lt;br /&gt;
   cout&amp;lt;&amp;lt;endl&amp;lt;&amp;lt;&amp;quot;sorted&amp;quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
   for(int i=0;i&amp;lt;dim;i++)&lt;br /&gt;
      cout&amp;lt;&amp;lt;setw(8)&amp;lt;&amp;lt;arrs[i];&lt;br /&gt;
   delete arrs;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;unsorted&lt;br /&gt;
      41   18467    6334   26500   19169   15724   11478   29358   26962   24464&lt;br /&gt;
    5705   28145   23281   16827    9961     491    2995   11942    4827    5436&lt;br /&gt;
   32391   14604    3902     153     292   12382   17421   18716   19718   19895&lt;br /&gt;
    5447   21726   14771   11538    1869   19912   25667   26299   17035    9894&lt;br /&gt;
   28703   23811   31322   30333   17673    4664   15141    7711   28253    6868&lt;br /&gt;
   25547   27644   32662   32757   20037   12859    8723    9741   27529     778&lt;br /&gt;
   12316    3035   22190    1842     288   30106    9040    8942   19264   22648&lt;br /&gt;
   27446   23805   15890    6729   24370   15350   15006   31101   24393    3548&lt;br /&gt;
   19629   12623   24084   19954   18756   11840    4966    7376   13931   26308&lt;br /&gt;
   16944   32439   24626   11323    5537   21538   16118    2082   22929   16541&lt;br /&gt;
sorted&lt;br /&gt;
      41     153     288     292     491     778    1842    1869    2082    2995&lt;br /&gt;
    3035    3548    3902    4664    4827    4966    5436    5447    5537    5705&lt;br /&gt;
    6334    6729    6868    7376    7711    8723    8942    9040    9741    9894&lt;br /&gt;
    9961   11323   11478   11538   11840   11942   12316   12382   12623   12859&lt;br /&gt;
   13931   14604   14771   15006   15141   15350   15724   15890   16118   16541&lt;br /&gt;
   16827   16944   17035   17421   17673   18467   18716   18756   19169   19264&lt;br /&gt;
   19629   19718   19895   19912   19954   20037   21538   21726   22190   22648&lt;br /&gt;
   22929   23281   23805   23811   24084   24370   24393   24464   24626   25547&lt;br /&gt;
   25667   26299   26308   26500   26962   27446   27529   27644   28145   28253&lt;br /&gt;
   28703   29358   30106   30333   31101   31322   32391   32439   32662   32757&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>