直接插入排序
Posted ljhaha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直接插入排序相关的知识,希望对你有一定的参考价值。
输入‘d‘,‘c‘,‘a‘,‘b‘,‘e‘这5个字符,然后用直接插入排序法,按照其ascii码值从小到大排序,并打印在控制台
代码实现:
1 #include<stdio.h> 2 #include<cstring> 3 int main() 4 { 5 //char a[]="dcabe"; 6 char a[10]; 7 scanf("%s",a); 8 int i,j,len; 9 char t; 10 len=strlen(a); 11 printf("%d ",len); 12 printf("原来的数组数据为:"); 13 for(i=0;i<=len-1;i++) 14 printf("%c ",a[i]); 15 printf(" "); 16 for(i=1;i<=len-1;i++) 17 { 18 t=a[i]; 19 j=i-1; 20 while(j>=0&&t<a[j])//一直向前比较,直到前方所有数都小于a[i] 21 { 22 a[j+1]=a[j]; 23 j--; 24 } 25 a[j+1]=t; 26 } 27 printf("按照从小到大的顺序排序后的数组数据为:"); 28 for(i=0;i<=len-1;i++) 29 printf("%c ",a[i]); 30 printf(" "); 31 return 0; 32 }
以上是关于直接插入排序的主要内容,如果未能解决你的问题,请参考以下文章
直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚