练习-数组元素逆置

02-4 练习 数组元素逆置

描述:声明一个 5 个元素的数组,并且将元素逆置。(eg 原数组 12345,倒置后为 54321)

#include <iostream>
using namespace std;
int main()
{
    int arr[] = { 1, 2, 3, 4, 5 };
    int end = sizeof(arr) / sizeof(arr[0]) - 1;
    int temp = 0;
    for (int i = 0;i < (end + 1)/2 ;i++)
    {
        temp = arr[i];
        arr[i] = arr[end - i];
        arr[end - i] = temp;
    }
    for (int i = 0;i < end + 1;i++)
    {
        cout << arr[i] <<" ";
    }
    system("pause");
    return 0;
}

这个和 b 站上的好像有点不同。教程上是使用 while 检测 start 和 end 的值的大小。我把 b 站上的抄下来。

#include <iostream>
using namespace std;
int main()
{
    int arr[5] = { 1,2,3,4,5 };
    int start = 0;//起始下标
    int end = sizeof(arr) / sizeof(arr[0]) - 1;//结束下标
    while (start < end)
    {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start = start + 1;
        end = end - 1;
    }
    for (int i = 0;i < 5;i++)
    {
        cout << arr[i] <<" ";
    }
    system("pause");
    return 0;
}

可能是喜欢 for 所以一开始就想到使用 for 了。while (start < end)的用途其实就是i < (end + 1)/2

sizeof(arr) / sizeof(arr[0]) - 1 用来计算数组 arr 的最后一个元素的下标。它通过计算数组的总大小除以一个元素的大小,然后减一,得到数组的长度减一,也就是最后一个元素的下标。

然后,使用一个循环来反转数组。这个循环是:对于数组中的每一个元素,将其与数组尾部的对应元素进行交换。

以上两个的输出结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

5 4 3 2 1 请按任意键继续. . .

逃了.......

想一下为什么会需要i < (end + 1)/2 或者说是(start < end)。如果让他一直跑下去,已经交换的会被再次交换,则会出现又被交换回去了的情况。

我们试着把for (int i = 0;i < (end + 1)/2 ;i++)改为for (int i = 0;i < (end + 1) ;i++)运行一下:结果:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

1 2 3 4 5 请按任意键继续. . 
文章「练习-数组元素逆置」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/704」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇