21xrx.com
2024-12-22 21:45:29 Sunday
登录
文章检索 我的文章 写文章
C++指针排序:三个变量从小到大排列
2023-07-11 15:06:02 深夜i     --     --
C++ 指针 排序 变量 从小到大

C++是一门高级编程语言,其中指针是一种非常常用的数据类型。指针排序是一种常见的应用,它可以让我们实现对变量的排序。下面我们来介绍一种用 C++ 指针实现三个变量从小到大排序的方法。

首先,我们需要定义三个变量,并用指针来指向它们。如下所示:


int x = 10, y = 20, z = 5;

int *p1 = &x, *p2 = &y, *p3 = &z;

接下来,我们需要对这三个变量进行排序,让它们从小到大排列。为了实现这个目的,我们可以使用指针来比较它们。具体实现方法如下:

* 将 p1 指向的变量与 p2 指向的变量进行比较,如果 p1 指向的变量的值大于 p2 指向的变量的值,则交换 p1 和 p2 指向的变量的值。

* 将 p1 指向的变量与 p3 指向的变量进行比较,如果 p1 指向的变量的值大于 p3 指向的变量的值,则交换 p1 和 p3 指向的变量的值。

* 将 p2 指向的变量与 p3 指向的变量进行比较,如果 p2 指向的变量的值大于 p3 指向的变量的值,则交换 p2 和 p3 指向的变量的值。

最后,当上述操作完成之后,三个变量的值就会被按照从小到大的顺序排列。完整的代码实现如下:


#include<iostream>

using namespace std;

int main()

{

  int x = 10, y = 20, z = 5;

  int *p1 = &x, *p2 = &y, *p3 = &z;

  if (*p1 > *p2) //比较 p1 和 p2 指向的变量的值

  {

    int temp = *p1;

    *p1 = *p2;

    *p2 = temp;

  }

  if (*p1 > *p3) //比较 p1 和 p3 指向的变量的值

  {

    int temp = *p1;

    *p1 = *p3;

    *p3 = temp;

  }

  if (*p2 > *p3) //比较 p2 和 p3 指向的变量的值

  {

    int temp = *p2;

    *p2 = *p3;

    *p3 = temp;

  }

  cout << "排序后的结果为: " << *p1 << ", " << *p3 << ", " << *p2 << endl;

  return 0;

}

以上就是使用 C++ 指针实现三个变量从小到大排列的方法。希望对大家有所帮助!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复