首页 > 其他分享 >选择排序

选择排序

时间:2024-12-11 17:44:09浏览次数:10  
标签:int 冒泡排序 选择 swap 数组 排序 arry

选择排序这里也用到了冒泡排序的写法。
由题说明,用指针方法对10个整数按由大到小顺序排序。
首先声明选择排序基本和冒泡排序法一样,只不过多加了一个调用函数环节。在后面会说明我的错误电点,同时我也会在另一篇冒泡排序中详细文字叙述效果图和代码可参照本文。
代码如下
`#include<stdio.h>
void swap(int arry,int n)
{
int tempt,t,i,j,a;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(arry[j]<arry[j+1])
{
tempt=
(arry+j);
(arry+j)=(arry+j+1);
*(arry+j+1)=tempt;
}
}
}
int main()
{
int i,j,a[10]={1,4,2,5,7,3,0,9,8,6};
int p=a;
swap(p,10);
for(i=0;i<10;i++)
printf("%d",
p++);

}`
效果图image
此次进行选择排序,错误点如下:
1.对swap函数形参的定义错误,这也提示我要再看看相关知识了。我第一次是
swap(int x,int y)因为我感觉在主函数中swap传递的是一个值,在这种情况下编译器爆出“下标值既不是指针又不是数组”的错误,想到可能在这个函数中没有定义数组于是在swap函数中定义了一个,但报错未消失,接着找到了原因在实参为数组形式,接收的形参也应该为这种形式,也不仅限于数组,这是第一个错误。
2.在敲代码之前我有想过我输送过去的值只有一个,怎么将这个数组那么多的值调换,其实输送过去的值只是一个引子,实际上是将a【10】这个数组传递给形参,这也是在调用函数中通过形参可以改变实参的值的原因。
3.对于打擂台法也就是冒泡排序进行顺序输出,一开始有点不知道在具体几趟中再循环比较几次,这个其实是在走了几趟后,每一趟都代表浮出一个除上一躺的最大值,总趟数是n-1,因为最后一个数不用比了;每一趟都代表浮出一个除上一躺的最大值,i是第几躺,所以是n躺-i为所要进行的比较次数。
4.这个纯脑袋不清楚(刚上完课)结果经典三步换值搞错了。

标签:int,冒泡排序,选择,swap,数组,排序,arry
From: https://www.cnblogs.com/szyw/p/18599905

相关文章

  • MakeNTF.exe 是一个命令行工具,主要用于字体文件的处理,特别是为了创建与 Windows 系统
    MakeNTF用法:创建NTF文件:MakeNTF-win32|-win64[-v][-o]<NTF><AFM文件列表>创建一个来自AFM文件的NTF文件。-win32:为win32驱动程序创建NTF文件。-win64:为win64驱动程序创建NTF文件。(必须指定这两个选项中的一个)-v:详细模式(打印各种信息)。-o:优......
  • datagridview点击列头对当前列进行排序的功能无效
    DataGridView的默认行为是支持通过单击列头对列进行排序,但在以下情况下可能会取消该功能或无法使用:1.绑定的数据源不支持排序如果DataGridView的数据源是绑定到一个不支持排序的集合(例如,List或未实现IBindingList的对象),排序功能会被禁用。2.列的SortMode设置为DataG......
  • 【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
    目录......
  • 违规抽烟识别智慧矿山一体机在矿山监控项目中,如何选择合适的POE网络摄像机以及常见问
    随着技术的飞速进步,POE(PoweroverEthernet,以太网供电)技术在安防监控领域的应用越来越广泛,它为网络监控施工带来了革命性的改变。POE技术允许通过单一的以太网电缆同时传输数据和电力,大大简化了监控系统的布线复杂度,并降低了安装成本。在矿山监控系统中,选择适合的POE技术可以提......
  • 删除排序链表中的重复元素 II
    题解:/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*deleteDuplicates(structListNode*head){intflag;//标记是否需要删除structListNode*dummy=(structList......
  • 国标GB28181视频平台EasyCVR安防监控必备知识:园区安防如何选择交换机?
    在构建一个高效、可靠的视频监控网络时,选择合适的交换机是至关重要的。这不仅关系到视频数据的流畅传输,还直接影响到监控系统的稳定性和图像的清晰度。本文将深入探讨如何选择适合视频监控网络的交换机,特别是在一个拥有500多个高清摄像机的园区网中,如何根据不同的网络层次(接入层、......
  • 电商团队如何选择适合自己的办公软件?
    当凛冽的寒风奏响了冬季节日的序曲,元旦与春节的脚步正逐渐临近,跨境电商行业也即将迎来订单如雪花般纷飞的高峰期。在这个充满挑战与机遇的时刻,高效的团队协作办公软件犹如冬日里的暖阳,能够穿透忙碌与压力的阴霾,照亮跨境电商团队前行的道路。今天,就让我们站在全J人电商行业团队公......
  • 2024年如何选择项目管理软件?8大评测标准帮你轻松选择
    一、引言在当今竞争激烈的商业环境中,项目管理的重要性日益凸显。无论是大型企业的复杂项目,还是小型团队的创新任务,都离不开高效的项目管理。而项目管理软件作为现代项目管理的重要工具,能够帮助团队更好地规划、执行和监控项目,提高项目的成功率。随着信息技术的不断发展,市场上......
  • 【GreatSQL优化器-06】条件过滤导致选择非最佳
    【GreatSQL优化器-06】条件过滤导致选择非最佳一、condition_fanout_filter导致计划非最佳GreatSQL的优化器对于join的表需要根据行数和cost来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,condition_fanout_filter会根据一系列方法计算出一个数据......
  • 解释下为什么说通配符选择器要慎用?
    在前端开发中,通配符选择器*虽然方便,但应谨慎使用,主要原因在于其性能影响和潜在的样式冲突:性能影响:增加浏览器工作量:通配符选择器会匹配页面上的每一个元素。这意味着浏览器需要遍历所有元素来判断是否应用样式,尤其在大型DOM树中,这会显著增加渲染时间,导致页面加载缓慢,影......