求详解下面代码O(∩_∩)O谢谢啦急急!!!!!

voidsortArry(charstr[][20]){inti,j,p;for(i=0;i<N-1;i++){p=i;for(j=i+1;j<N;j++){if(str... void sortArry(char str[ ] [20] )
{
int i, j, p;
for(i=0;i<N-1;i++)
{
p=i;
for(j=i+1;j<N;j++)
{
if(strcmp(str[j],str[p])>0)
{
p=j;
}
}
if(p!=i)
{
swapStr(str[i],Str[p];)
}
}
}
展开
 我来答
物语杂谈
2011-03-15 · 超过28用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:51.7万
展开全部
明显不是冒泡排序

选择排序。。。。

这个段代码是:从大到小进行排列。。

每一次把最大的那个数排到前面。。。第一大的排在第一的位置。。。第二大的排在第二的位置。。。依次类推。。。。
追问
这个我知道,能不能详细一点啊  p=i  和if(p!=i)这里看不懂 能详细说下吗O(∩_∩)O谢谢
追答
每次扫描都 从i开始到数组结束
用p一开始 等于 i
然后往后扫描,当遇到一个更大的数的时候,用p指向这个更大的数。。。
直到数组结束。这时候,p指向目前最大的一个数。

如果p指向的数就是i所指向的数的话,说明i这个位置已经是当前最大的数。
如果p不等于i的话,这时候需要把i所指向的数和p所指向的数进行交换。这样i的位置便是最大的数了。

别被他们误导了。这明显不是冒泡排序。。。。。
冒泡排序是稳定的
这个是标准的选择排序。选择排序不稳定。
Storm代理
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
Jseven_jy
2011-03-15 · TA获得超过8123个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1349万
展开全部
这个是冒泡排序法。。。。

这个段代码是:从大到小进行排列。。

每一次把最大的那个数排到前面。。。第一大的排在第一的位置。。。第二大的排在第二的位置。。。依次类推。。。。

希望能帮到你。。。
追问
这个我知道,能不能详细一点啊  p=i  和if(p!=i)这里看不懂 能详细说下吗O(∩_∩)O谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祭丶墨言拙D184a
2011-03-15
知道答主
回答量:20
采纳率:0%
帮助的人:22.4万
展开全部
void sortArry(char str[ ] [20] ) //这儿应该多传入一个参数N,另外char str[][20]改为char**
{//这个函数你想实现的冒泡排序,建议使用一维数组 void sortArry(char *,n)
//而且你的程序本身有问题
int i, j, p;
for(i=0;i<N-1;i++)
{
p=i;
for(j=i+1;j<N;j++)
{
if(strcmp(str[j],str[p])>0) //找出大的一个所在位置
{
p=j;
}
if(p!=i)
{
swapStr(str[i],Str[p];) //交换
}
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式