请问该怎么编写函数sort,实现整数型数组元素的升序排列?

编写函数sort,实现整数型数组元素的升序排列


紫衣仙女
浏览 1377回答 6
6回答

喵喔喔

#include&nbsp;<stdio.h>#include&nbsp;<conio.h>&nbsp;#define&nbsp;LEN&nbsp;100&nbsp;/*数组长度上限*/#define&nbsp;elemType&nbsp;int&nbsp;/*元素类型*/&nbsp;/*升序冒泡排序*//*参数说明:*//*int&nbsp;arr[]:排序目标数组*//*int&nbsp;len:元素个数*/void&nbsp;bubbleSortAsc&nbsp;(elemType&nbsp;arr[],&nbsp;int&nbsp;len)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;elemType&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i<len-1;&nbsp;i++)&nbsp;/*外循环控制排序趟数,len-1个数进行len-1趟*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(j=0;j<len-1-i;&nbsp;j++)&nbsp;{&nbsp;/*内循环每趟比较的次数,第j趟比较len-j次*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(arr[j]&nbsp;>&nbsp;arr[j+1])&nbsp;{&nbsp;/*相邻元素比较,逆序则交换*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;arr[j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j]&nbsp;=&nbsp;arr[j+1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j+1]&nbsp;=&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;/*打印数组*/void&nbsp;printArr&nbsp;(elemType&nbsp;arr[],&nbsp;int&nbsp;len)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i=0;&nbsp;i<len;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;("%d\t",arr[i]);&nbsp;&nbsp;&nbsp;&nbsp;putchar&nbsp;('\n');}&nbsp;int&nbsp;main&nbsp;(void)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;elemType&nbsp;arr[LEN]&nbsp;=&nbsp;{3,5,1,7,4,9,6,8,10,4};&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;len;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts&nbsp;("初始数组:");&nbsp;&nbsp;&nbsp;&nbsp;printArr&nbsp;(arr,len);&nbsp;&nbsp;&nbsp;&nbsp;putchar&nbsp;('\n');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bubbleSortAsc&nbsp;(arr,&nbsp;len);&nbsp;/*升序冒泡排序*/&nbsp;&nbsp;&nbsp;&nbsp;printArr&nbsp;(arr,len);&nbsp;&nbsp;&nbsp;&nbsp;putchar&nbsp;('\n');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getch&nbsp;();&nbsp;/*屏幕暂留*/&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}运行结果

当年话下

12345678910111213141516171819202122232425262728293031323334353637383940//希望我的回答对你的学习有帮助#include&nbsp;<stdio.h>&nbsp;#define&nbsp;N&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义数组的大小,表示数组中可以放的个数&nbsp;void&nbsp;Sort(int&nbsp;IntArray[N])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//冒泡算法{&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;N&nbsp;-&nbsp;1;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;<&nbsp;N&nbsp;-&nbsp;i&nbsp;-&nbsp;1;&nbsp;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(IntArray[j]&nbsp;>&nbsp;IntArray[j&nbsp;+&nbsp;1])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;IntArray[j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntArray[j]&nbsp;=&nbsp;IntArray[j&nbsp;+&nbsp;1];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntArray[j&nbsp;+&nbsp;1]&nbsp;=&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;IntArray_T[N]&nbsp;=&nbsp;{};&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;N;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//输入&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf("%d",&nbsp;&IntArray_T[i]);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sort(IntArray_T);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;N;&nbsp;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//输出&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%4d",&nbsp;IntArray_T[i]);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}

蝴蝶刀刀

12345678910111213141516171819202122232425262728293031#include&nbsp;<stdio.h>&nbsp;void&nbsp;sort(int&nbsp;a[],&nbsp;int&nbsp;n)&nbsp;{//选择排序&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,j,k,t;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;n&nbsp;-&nbsp;1;&nbsp;++i)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k&nbsp;=&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j&nbsp;=&nbsp;k&nbsp;+&nbsp;1;&nbsp;j&nbsp;<&nbsp;n;&nbsp;++j)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a[k]&nbsp;>&nbsp;a[j])&nbsp;k&nbsp;=&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(k&nbsp;!=&nbsp;i)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t&nbsp;=&nbsp;a[i];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[i]&nbsp;=&nbsp;a[k];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[k]&nbsp;=&nbsp;t;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;int&nbsp;main()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;a[]&nbsp;=&nbsp;{21,16,30,21,8,19,33,26,28,27,24,50,13,12};&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,n&nbsp;=&nbsp;sizeof(a)/sizeof(a[0]);&nbsp;&nbsp;&nbsp;&nbsp;printf("排序前:\n");&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;n;&nbsp;++i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d&nbsp;",a[i]);&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");&nbsp;&nbsp;&nbsp;&nbsp;sort(a,n);&nbsp;&nbsp;&nbsp;&nbsp;printf("排序后:\n");&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;n;&nbsp;++i)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d&nbsp;",a[i]);&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}

哔哔one

#include <stdio.h>void sort(int a[],int n)//选择排序{int i,j,t,temp;for(i=0;i<n-1;i++){t=i;for(j=i+1;j<n;j++){if(a[t]>a[j]){t=j;}}if(t!=i){temp = a[i];a[i] = a[t];a[t] = temp;}}}void main(){int a[4];int i;for(i=0;i<4;i++){scanf("%d",&a[i]);}sort(a,4);for(i=0;i<4;i++){printf("%d ",a[i]);}}
打开App,查看更多内容
随时随地看视频慕课网APP