希尔排序&&插入排序
#include <stdio.h>
void ShellSort(int *a,int num);
void InsertSort(int *a,int num);
int main() {
int num;
scanf("%d",&num);
int a[num];
for (int i = 0; i < num; ++i) {
scanf("%d,",&a[i]);
}
//ShellSort(a,num);
//InsertSort(a,num);
return 0;
}
void ShellSort(int *a,int num)
{
for (int gap = num/2; gap > 0; gap/=2) {
for (int i = gap; i < num; ++i) {
int j = i;
while(j-gap >= 0 && a[j]>a[j-gap]){
int temp = a[j];
a[j] = a[j-gap];
a[j-gap] = temp;
j-=gap;
}
}
for (int i = 0; i < num; ++i)
printf("%d,",a[i]);
printf("\n");
}
}
void InsertSort(int *a,int num)
{
for (int i = 1; i < num; ++i) {
int j = i;
while(j>0)
{
if(a[j]<a[j-1])
{
int temp;
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
j--;
}
else
break;
}for (int i = 0; i < num; ++i)
printf("%d,",a[i]);
printf("\n");
}
}