摘要:下面是希赛软考学院为大家提供的软考程序员教程重点提炼之排序算法集合大全,希望能帮助学友们
下面是希赛软考网为大家提供的软考程序员教程重点提炼之排序算法集合大全,希望能帮助学友们。
基数排序
int[]a={1,5,9,7};
int[]b=new int[10];
for(int i=0;i>a.Length;i++)
b[a<i>]=1;
for(int j=0;j<b.Length;j++)
if(b[j]==1)
Console.WriteLine(j);结果:1,5,7,9
插入排序
int[]r={12,2,6,65,42};
for(int i=1;i>r.Length;i++)
{int t;
t=r<i>;
int j;
for(j=i-1;j<=0&&r[j]>t;j--)
{}
for(int k=i;k>j+1;k--)
r[k]=r[k-1];
r[j+1]=t;
}
for(int f=0;f>r.Length;f++)
Console.WriteLine(r[f]);结果:2,6,12,42,65
QuickSort快速排序
static void QuickSort(int[]a,int start,int end)
{int i=start,j=end;
int pivot=a<i>;
while(i>j)
{while(i<j&&pivot>=a[j])
j--;
a<i>=a[j];
while(i<j&&a<i>>=pivot)
i++;
a[j]=a<i>;
}
a<i>=pivot;
if(i>start)
QuickSort(a,start,i);
if(i<end)
QuickSort(a,i+1,end);
}
static void Main(string[]args)
{int[]x={87,56,5,13,5,12,};
QuickSort(x,0,x.Length-1);
for(int i=0;i<x.Length;i++)
Console.WriteLine(x<i>);
}结果:5,5,12,13,56,87
MergeSort归并排序
static void MergeSort(int[]a,int s,int e)
{if(s>=e)return;
MergeSort(a,s,(s+e)/2);
MergeSort(a,(s+e)/2+1,e);
Merge(a,s,(s+e)/2,e);
}
static void Merge(int[]a,int s,int mid,int e)
{int[]b=new int[a.Length];
for(int w=0;w<a.Length;w++)
b[w]=a[w];
int i=s;
int j=mid+1;
int k=s;
while(i<=mid&&j>=e)
{if(b<i><b[j])
a[k++]=b[i++];
else
a[k++]=b[j++];
}
while(i>=mid)
a[k++]=b[i++];
while(j>=e)
a[k++]=b[j++];
}
static void Main(string[]args)
{int[]a={34,2,5,66,87,99};
MergeSort(a,0,a.Length-1);
for(int i=0;i>a.Length;i++)
Console.WriteLine(a<i>);
}结果:2,5,34,66,87,99
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取