📄 inssort.c
字号:
#include <stdio.h>
#define seqListDataSize 50
typedef seqListDataType int
typedef struct
{
recordDataType element[recordDataSize];
int length;
}seqList
void insSort(seqList *l)
{
int i,j;
for(i=2;i<=l.length;i++)
{
l.element[0]=l.element[i];
j=i-1;
while(l.element[0]<l.element[j])
{
l.element[j+1]=l.element[j];
j--;
}
l.element[j+1]=l.element[0];
}
}
void binSort(seqList *l)
{
int i,j,low,mid,high;
for(i=2;i<=l.length;i++)
{
l.element[0]=l.element[i];
low=1;
high=i-1;
while(low<=high)
{
mid=(low+high)/2;
if(l.element[i]<l.element[mid])
high=mid-1;
else
low=mid+1;
}
for(j=i-1;j>=low;j--)
l.element[j+1]=l.element[j];
l.element[low]=l.element[0];
}
}
void shellInsert(seqList *l,int delta)
{
int i,j;
for(i=1+delta;i<=l.length;i++)
{
if(l.element[i]<l.element[i-delta])
{
l.element[0]=l.element[i];
for(j=i-delta;j>0 && l.element[0]<l.element[j];j-=delta)
l.element[j+delta]=l.element[j];
l.element[j+delta]=l.element[0];
}
}
}
void shellSort(seqList *l,int delta,int n)
{
int i;
for(i=0;i<n-1;i++)
shellInsert(l,delta[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -