【C/C++】用指针方法对10个整数按由大到小顺序排序

简介: ##下面我们将对21 12 45 43 87 897 534 67 90 75这10个数,用下面的程序进行由大到小排序。

##下面我们将对21 12 45 43 87 897 534 67 90 75这10个数,用下面的程序进行由大到小排序。


预期结果


输入:21 12 45 43 87 897 534 67 90 75


输出:897 534 90 87 75 67 45 43 21 12


程序如下:

#include<stdio.h>
int main()
{
void sort(int x[],int n);  //sort函数声明
    int i,a[10];  
  int *p;
  p=a;    //指针变量p指向a[0]
  printf("please enter 10 integer numbers:\n");
  for(i=0;i<10;i++){
    scanf("%d",p++);    //输入10个整数
  }printf("\n");
  p=a;            //指针变量p重新指向a[0]
  sort(p,10);    //调用sort函数
  printf("please Output the sorted 10 numbers\n");
  for(p=a,i=0;i<10;i++){
  printf("%d ",*p);    //排序后的10个元素数组
     p++;
  }printf("\n");
  return 0;
}
void sort(int x[],int n)         //定义sort函数,x是形参数组名
{
    int i,j,k,t;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        if(x[j]>x[k])
             k=j;
        if(k!=i)
  {t=x[i];x[i]=x[k];x[k]=t;}     
  }
}

运行结果:

b3354dbcfb001afbdf63f1a0fcdd25a2_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5byg5pm66LaF5ZCWLg==,size_20,color_FFFFFF,t_70,g_se,x_16.png


程序改进:


上面程序的sort函数等价于:


void sort(int *x,int n)   //形参x为指针变量
{
  int i,j,k,t;
  for(i=0;i<n-1;i++)
  {
     k=i;
     for(j=i+1;j<n;j++)
     {
     if(*(x+j)>*(x+k))  //*(x+j)就是x[j],其它也一样
     k=j;  
  if(k!=i)
     {t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;} 
  }
  }
}


目录
相关文章
|
2天前
|
C++ 数据格式
LabVIEW传递接收C/C++DLL指针
LabVIEW传递接收C/C++DLL指针
10 1
|
2天前
|
存储 安全 程序员
C++:智能指针
C++:智能指针
19 5
|
3天前
|
存储 安全 C++
深入理解C++中的指针与引用
深入理解C++中的指针与引用
7 0
|
4天前
|
算法 C++
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
10 0
|
4天前
|
安全 算法 数据安全/隐私保护
【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]
10 0
|
4天前
|
存储 算法 安全
【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
9 0
|
4天前
|
安全 算法 IDE
【C++入门到精通】智能指针 [ C++入门 ]
【C++入门到精通】智能指针 [ C++入门 ]
8 0
|
6天前
|
存储 编译器 C语言
【C++】类与对象【定义、访问限定符、this指针】
【C++】类与对象【定义、访问限定符、this指针】
6 1
|
11天前
|
C++
【C++】一文深入浅出带你参透库中的几种 [ 智能指针 ]及其背后实现原理(代码&图示)
【C++】一文深入浅出带你参透库中的几种 [ 智能指针 ]及其背后实现原理(代码&图示)
|
18天前
|
C++
【C++11(三)】智能指针详解--RAII思想&循环引用问题
【C++11(三)】智能指针详解--RAII思想&循环引用问题