7-2 指针实现冒泡法排序(数组名做参数-传指针)
分数 100
全屏浏览题目
作者 于延
单位 哈尔滨师范大学
任务描述
读入整数N(N<100),再读入N个整数存入数组,调用函数实现从小到大排序,然后输出排序后的数组。对数组排序请在函数中用冒泡法实现,函数中的数组元素访问请使用指针技术实现。
输入样例:
10
72 29 5 91 63 32 68 40 57 11
输出样例:
5 11 29 32 40 57 63 68 72 91
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
void fun(int *p,int n);
int main()
{
int *q;
int N;
scanf("%d",&N);
int a[100];
for(int i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
q=a;
fun(q,N);
for(int k=0;k<N-1;k++)
printf("%d ",a[k]);
printf("%d",a[N-1]);
return 0;
}
void fun(int *p,int n)
{
int t;
for(int x=0;x<n-1;x++)
{
for(int j=0;j<n-x-1;j++)
{
if(*(p+j)>*(p+j+1))
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
}
}
用手机写的,懒得注解了,拿走不谢🙃。