急求求冒泡排序,直接插入排序,希尔排序的C程序!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:15:26

给你一个全的:
void insertsort(int *A,int n) // 插入排序
{
int i,j;
int temp;
for(i=1;i<n;i++)
{
temp=A[i];
j=i-1;
while(temp<A[j])
{
A[j+1]=A[j];
j--;
}
A[j+1]=temp;
}
}

void Shellsort(int *A,int n) // 希尔排序
{
int i,j,gap;
int temp;
gap=n/2;
while(gap>0)
{
for(i=gap;i<n;i++)
{
j=i-gap;
while(j>=gap)
if(A[j]>A[j+gap])
{
temp=A[j];
A[j]=A[j+gap];
A[j+gap]=temp;
j=j-gap;
}
else j=0;
}
gap=gap/2;
}
}

void bubblesort(int *A,int n) // 冒泡排序
{
int i,j;
int temp;
for(i=0;i<n;i++)
for(j=n-1;j>=i+1;j--)
if(A[j]<A[j-1])
{
temp=A[j];
A[j]=A[j-1];
A[j-1]=temp;
}
}

1.希尔排序void ShellInsert(SqList &L, int dk) {
// 1. 前后记录位置的增量是dk,而不是1;
//