|
5#
楼主 |
发表于 2012-8-10 12:21:48
|
只看该作者
本帖最后由 =student= 于 2012-8-21 12:12 编辑
[ 本帖最后由 =student= 于 2012-8-10 21:46 编辑 ]\n\n[ 本帖最后由 =student= 于 2012-8-10 21:45 编辑 ]\n\nC语言排序——插入排序
原理:每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。
代码如下:
- #include <stdio.h>
- int main()
- {
- int a[10000],i,j,k,t,n;
- printf("请输入要排序输的个数:");
- scanf("%d",&n);
- printf("请输入数据(数之间要有空格):");
- for(i=0;i<n;i++)
- {
- scanf("%d",&a[i]);
- }
-
- for (j=1;j<n;j++)
- {
- k = a[j];
- i = j - 1;
- while ((i >= 0) && (a > k))/* 开始插入排序的内层循环,注意循环条件以及终止条件 */
- {
- a[i+1] = a;
- i--;
- }
- a[i+1] = k;
- if(j==n-1)
- {
- printf("从小至大排序:");
- for (t = 0;t<n;t++)
- {
- printf("%d ",a[t]);
- }
- printf("\n");
- }
- }
- sleep(50000);
- return 0;
- }
复制代码
图片:
继续更新ing
|
-
3.png
(55.87 KB, 下载次数: 9)
|