//
任意输入一串字符,用直接插入排序排序之
#include < string .h >
#include < stdio.h >
#include < stdlib.h >
void insert( char * items, int count);
main( void )
... {
char s[255];
printf("Enter a string:");
gets(s);
insert(s, strlen(s));
printf("The sorted string is: %s. ", s);
}
void insert( char * items, int count)
... {
register int a, b;
char t;
for(a=1; a < count; a++)
...{
t = items[a];
for(b=a-1; (b >= 0) && (t < items[b]); b--)
...{
items[b+1] = items[b];
}
items[b+1] = t;
}
}
#include < string .h >
#include < stdio.h >
#include < stdlib.h >
void insert( char * items, int count);
main( void )
... {
char s[255];
printf("Enter a string:");
gets(s);
insert(s, strlen(s));
printf("The sorted string is: %s. ", s);
}
void insert( char * items, int count)
... {
register int a, b;
char t;
for(a=1; a < count; a++)
...{
t = items[a];
for(b=a-1; (b >= 0) && (t < items[b]); b--)
...{
items[b+1] = items[b];
}
items[b+1] = t;
}
}
//
输入10个整数,利用直接插入排序对这10个数进行排序,输出之
#include < stdio.h >
int main( void )
... {
int data[11];//长为11,存放10个待排序数,第一个位置做辅助用
int i,j; //循环变量
/**//*让用户输入要排序的数*/
puts("请输入10个要排序的数(用回车符分开):");
for(i=1;i<=10;i++)
...{
scanf("%d",&data[i]);
}
//输出排序前的10个数
puts("要排序的10个数分别为");
for(i=1;i<=10;i++)
...{
printf("data[%d]=%d ",i,data[i]);
}
puts("");
for(i=2;i<=10;i++)
...{
j=i-1;
data[0]=data[i];
while(data[0]<data[j])
...{
data[j+1]=data[j];
j--;
data[j+1]=data[0];
}
}
//输出排序后的10个数
puts("排序后的10个数分别为:");
for(i=1;i<=10;i++)
...{
printf("data[%d]=%d ",i,data[i]);
}
}
#include < stdio.h >
int main( void )
... {
int data[11];//长为11,存放10个待排序数,第一个位置做辅助用
int i,j; //循环变量
/**//*让用户输入要排序的数*/
puts("请输入10个要排序的数(用回车符分开):");
for(i=1;i<=10;i++)
...{
scanf("%d",&data[i]);
}
//输出排序前的10个数
puts("要排序的10个数分别为");
for(i=1;i<=10;i++)
...{
printf("data[%d]=%d ",i,data[i]);
}
puts("");
for(i=2;i<=10;i++)
...{
j=i-1;
data[0]=data[i];
while(data[0]<data[j])
...{
data[j+1]=data[j];
j--;
data[j+1]=data[0];
}
}
//输出排序后的10个数
puts("排序后的10个数分别为:");
for(i=1;i<=10;i++)
...{
printf("data[%d]=%d ",i,data[i]);
}
}