usingSystem;
namespaceBubbleSorter
{
publicclassBubbleSorter
{
publicvoidSort(int[]list)
{
inti,j,temp;
booldone=false;
j=1;
while((j<list.Length)&&(!done))
{
done=true;
for(i=0;i<list.Length-j;i++)
{
if(list>list[i+1])
{
done=false;
temp=list;
list=list[i+1];
list[i+1]=temp;
}
}
j++;
}
}
}
publicclassMainClass
{publicstaticvoidMain()
{
int[]iArrary=newint[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
BubbleSortersh=newBubbleSorter();
sh.Sort(iArrary);
for(intm=0;m<iArrary.Length;m++)
Console.Write("{0}",iArrary[m]);
Console.WriteLine();
}}
}
选择排序
usingSystem;
namespaceSelectionSorter
{publicclassSelectionSorter
{privateintmin;
publicvoidSort(int[]list)
{for(inti=0;i<list.Length-1;i++)
{min=i;
for(intj=i+1;j<list.Length;j++)
{if(list[j]<list[min])
min=j;
}
intt=list[min];
list[min]=list;
list=t;
}}
}
publicclassMainClass
{publicstaticvoidMain()
{
int[]iArrary=newint[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
SelectionSorterss=newSelectionSorter();
ss.Sort(iArrary);
for(intm=0;m<iArrary.Length;m++)
Console.Write("{0}",iArrary[m]);
Console.WriteLine();
}}
}
插入排序
usingSystem;
namespaceInsertionSorter
{publicclassInsertionSorter
{publicvoidSort(int[]list)
{for(inti=1;i<list.Length;i++)
{intt=list;
intj=i;
while((j>0)&&(list[j-1]>t))
{list[j]=list[j-1];
--j;
}
list[j]=t;}
}
}
publicclassMainClass
{publicstaticvoidMain()
{
int[]iArrary=newint[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};
InsertionSorterii=newInsertionSorter();
ii.Sort(iArrary);
for(intm=0;m<iArrary.Length;m++)
Console.Write("{0}",iArrary[m]);
Console.WriteLine();
}}
}
希尔排序
希尔排序是将组分段,进行插入排序.
usingSystem;
namespaceShellSorter
{
publicclassShellSorter
{
publicvoidSort(int[]list)
{
intinc;
for(inc=1;inc<=list.Length/9;inc=3*inc+1);
for(;inc>0;inc/=3)
{
for(inti=inc+1;i<=list.Length;i+=inc)
{
intt=list[i-1];
intj=i;
while((j>inc)&&(list[j-inc-1]>t))
{
list[j-1]=list[j-inc-1];
j-=inc;
}
list[j-1]=t;
}}
}}
publicclassMainClass
{publicstaticvoidMain()
{
int[]iArrary=newint[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
ShellSortersh=newShellSorter();
sh.Sort(iArrary);
for(intm=0;m<iArrary.Length;m++)
Console.Write("{0}",iArrary[m]);
Console.WriteLine();
}}
}
|