21xrx.com
2025-07-13 01:30:38 Sunday
登录
文章检索 我的文章 写文章
C++逆序算法:实现数组或字符串的倒序排列
2023-07-04 12:26:46 深夜i     180     0
C++ 逆序算法 数组 字符串 倒序排列

在C++编程中,逆序算法是一种常见的技术,它旨在实现数组或字符串的倒序排列。倒序排列是一种反向顺序排列,将最后一个元素放在第一位,将倒数第二个元素放在第二个位置,以此类推。

该算法的实现非常简单,只需要使用for循环或while循环结合取余运算符和数组或字符串长度来实现。以下是一个实现数组倒序排列的例子:

#include <iostream>
using namespace std;
int main()
{
  int arr[] = 2;
  int len = sizeof(arr) / sizeof(arr[0]);
  int i, j;
  for (i = 0, j = len - 1; i < j; i++, j--)
  {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
  }
  for (i = 0; i < len; i++)
  {
    cout << arr[i] << ' ';
  }
  return 0;
}

在上面的代码中,我们首先定义了一个包含5个元素的整型数组,然后使用sizeof()函数计算数组长度,并将其存储在len变量中。接下来,我们使用for循环声明两个变量i和j,i从0开始,j从数组长度减1开始,使用取余运算符判断循环何时结束,每次循环中交换i和j所指向的元素。最后,我们使用for循环遍历整个数组并输出其内容,实现了倒序排列。

类似地,我们可以使用相同的方法来实现字符串的倒序排列,如下所示:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str = "hello world";
  int len = str.length();
  int i, j;
  for (i = 0, j = len - 1; i < j; i++, j--)
  {
    char temp = str[i];
    str[i] = str[j];
    str[j] = temp;
  }
  cout << str << endl;
  return 0;
}

在上面的代码中,我们定义了一个字符串,并使用length()函数来计算其长度。接下来,我们使用for循环按照相同的方法声明i和j变量,在每次循环中交换i和j所指向的字符。最后,我们输出倒序排列后得到的字符串。

总而言之,C++逆序算法是一种非常有用的编程技术,可以方便地实现数组或字符串的倒序排列。无论是在算法设计还是日常编程中,这种技术都可以为我们节省大量的时间和工作量。

  
  

评论区