| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2727 人关注过本帖
标题:[讨论]关于插入排序法的实现
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
这样就行了
void Sort(char *name[],int n)//插入排序法
{
int i,j;
char *s;
for(i=1;i<n;i++)
{
s=name[i];
j=i-1;
while(j >= 0 && strcmp(s, name[j]) < 0)
{
name[j+1]=name[j];
j=j-1;
}
name[j+1]=s;
}
}

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-30 11:21
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
对。

人生重要的不是所站的位置,而是所朝的方向
2007-05-30 12:05
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
谢谢大家的热心帮助啊。。。

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-30 17:44
veler
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-5-9
收藏
得分:0 
#include "stdio.h"
#define n 5
void main()
{
int i,j;
int num[n+1]={23,45,60,67,88},in;
printf("\n插入前的数组元素:\n");
for(i=0;i<n;i++)
{
printf("%d ",num[i]);
}
printf("\n请输入一个要插入的数:\n");
scanf("%d",&in);
for(i=0;i<n;i++) //查找第一个大于查找数的位置
{
if(num[i]>in)
break;
}
for (j=n;j>1;j--) //为要插入的数留空位置
{
num[j]=num[j-1]; //也叫位移
}
num[i]=in; //将要插入的数保存到该位置
printf("\n插入后的数组排序为:\n");
for(i=0;i<n+1;i++)
{
printf("%d ",num[i]);
}
printf("\n");
}

[此贴子已经被作者于2007-6-11 8:45:05编辑过]


[glow=255,red,2]QQ交流:285113291 非编程爱好者勿扰![/glow]
2007-06-11 08:44
胖子小张
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-6-11
收藏
得分:0 
我刚开始学C 希望有高手老师们教我们!我建了一个群ㄗs高手灬講臺 群号11600184 本群主要给大家提供一个计算机编程学习交流的平台,希望高手倾囊相授

学习经验 努力解决问题 发现问题
2007-06-11 21:44
快速回复:[讨论]关于插入排序法的实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034961 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved