วันอังคารที่ 16 สิงหาคม พ.ศ. 2559

อาเรย์

อาเรย์เป็นตัวแปรประเภทหนึ่งในภาษา C++ มันสามารถเก็บข้อมูลที่เป็นชุดไว้ในตัวแปรเดียวโดยการใช้ index เพื่อเป็นตัวชี้ของตำแหน่งข้อมูล ดังนั้นอาเรย์จึงเป็นตัวแปรประเภทหนึ่ง และมีรูปแบบคือ:
type name[size];
ลองจินตนาการว่าถ้าคุณมีข้อมูลเป็นจำนวนมากและเป็นข้อมูลประเภทเดียวกัน การใช้อาเรย์เป็นวิธีที่ง่ายที่จะจัดการกับข้อมูลเหล่านี้
int n1 = 10;
int n2 = 50;
int n3 = 10;
int n4 = 30;
int n5 = 20;
ในตัวอย่างด้านบน เรามีตัวแปร 5 ตัว และแต่ละตัวมีประเภทเป็น int เราสามารถใช้แค่ตัวแปรอาเรย์ตัวเดียวเพื่อที่จะเก็บข้อมูลเหล่านี้
int n[5] = {10, 50, 10, 30, 20};

การประกาศอาเรย์

การประกาศอาเรย์เป็นขั้นตอนแรกที่ต้องทำ เมื่อคุณต้องการใช้อาเรย์ในการจัดการกับข้อมูล
int foo[3];
float x[10];
ในตัวอย่าง เราได้ประกาศตัวแปรอาเรย์ 2 ตัวแปรคือ foo และ x เหมือนเราประกาศตัวแปรทั่วไป แต่อาเรย์จะต้องระบุขนาดสูงสุดของมันที่เราจะใช้ และเราสามารถประกาศอาเรย์และกำหนดค่าให้มันในทันนี้
int myNumber[2] = {5, 100};
float money[5] = {10.5, 10.9, 1.5, 4.4, 3.1};
หรือ เราสามารถกำหนดค่าให้อาเรย์หลังจากที่เราได้ประกาศมันเสร็จสิ้นแล้ว โดยการใช้ index เพื่อเข้าถึงตำแหน่งของข้อมูลในอาเรย์ คุณจะต้องเข้าใจว่าตำแหน่งของอาเรย์นั้นเริ่มต้นจาก 0 และจะสิ้นสุดที่ size-1 ยกตัวอย่างเช่น ถ้าอาเรย์มีขนาดเป็น 10 index ของมันคือ 0 - 9
int n[10];
n[0] = 1;
n[1] = 2;
n[5] = 5;
n[11] = 5; // error because an index out of bound
เราสามารถใช้แค่บาง index ได้ถ้าเราต้องการ แต่โดยปกติแล้ว มันไม่มีเหตุผลอะไรที่เราจะละเว้นบางตำแหน่ง

การสร้างอาเรย์โดยการใช้คำสั่ง for-loop

อา เรย์นั้นทำงานได้ดีกับลูป การใช้ for-loop เป็นวิธีที่ง่ายที่เราจะใช้กับอาเรย์ ถ้าบางครั้ง ถ้าเราต้องการสร้างอาเรย์กับข้อมูล 5, 10, 15, 20, ... , 100 แล้วเราจะทำได้อย่างไร แน่นอน เราจะใช้ for-loop มาช่วย
#include <iostream>
using namespace std;

int main ()
{
    int myNumber[20];
    for (int i = 0; i < 20; i++) {
        myNumber[i] = (i+1) * 5;
    }
    return 0;
}
ใน ตัวอย่าง เราต้องรู้ขนาดที่แน่นอนของอาเรย์และในตอนแรกเราจะสร้างอาเรย์ หลังจากนั้นเราใช้ for-loop เพื่อวนซ้ำ 20 ครั้ง เพื่อกำหนดค่าให้ในอาเรย์แต่ละตำแหน่ง ซึ่งมันมีผลเหมือนกันกับที่เราทำแบบนี้
int myNumber[20] = {5, 10, 15, 20, 25, 30, 35, .. , 100};

Accessing the values of an array

อา เรย์เป็นข้อมูลแบบลำดับที่เก็บข้อมูลในหนึ่งตัวแปร มันมี index ที่สามารถระบบตำแหน่งของแต่ละค่าในหน่วยความจำ ดังนั้น อาเรย์สามารถเข้าถึงได้โดยตรงผ่านทาง index อย่างไรก็ตาม การใช้ for-loop เพื่อวนซ้ำและเข้าถึงข้อมูลในอาเรย์นั่นเป็นวิธีที่ง่ายที่สุดที่เราชอบทำ มาดูตัวอย่างของการอ่านข้อมูลจากอาเรย์ for-loop
#include <iostream>
using namespace std;

int main ()
{
    int number[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; i++) {
        cout << "number[" << i << "] = " << number[i] << endl;
    }
    return 0;
}

Output

number[0] = 1
number[1] = 2
number[2] = 3
number[3] = 4
number[4] = 5
ในตัวอย่างนี้ จะแสดงวิธีอ่านข้อมูลในอาเรย์โดยการใช้ for-loop และเราใช้ตัวแปร i เป็น index ของอาเรย์ คุณสามารถนำตัวอย่างนี้ไปประยุกต์ใช้ต่อได้ตามที่คุณต้องการ เช่น การแสดงอาเรย์จากตำแหน่งสุดท้ายมายังตำแหน่งแรก นี่เป็นวิธี
#include <iostream>
using namespace std;

int main ()
{
    string countries[5] = {"US", "CH", "UK", "GR", "JP"};
    for (int i = 4; i >= 0; i--) {
        cout << "countries[" << i << "] = " << countries[i] << endl;
    }
    return 0;
}

Output

countries[4] = JP
countries[3] = GR
countries[2] = UK
countries[1] = CH
countries[0] = US
แทน ที่จะแสดงข้อมูลจากอันแรกไปยังอันสุดท้ายหรืออ่านไปตามลำดับ ตัวอย่างนี้จะแสดงให้คุณเห็นถึงวิธีการอ่านข้อมูลจากท้ายของอาเรย์ ตั้งแต่เรารู้ว่าขนาดของอาเรย์คือ 5 ดังนั้น index ตัวสุดท้ายจะต้องเป็น 4 เราจึงใช้ for-loop ลดค่าของ i แทนที่จะเพิ่ม

Multidimensional arrays

ที่ คุณได้เพิ่งเรียนรู้ไปทั้งหมดนั้นเป็นเพียงแค่พื้นฐานของอาเรย์ และเราเรียกว่า อาเรย์หนึ่งมิติ ต่อไป เราจะเรียนรู้เกี่ยวกับอาเย์หลายมิติ อาเรย์หลายมิตินั้นเป็นอาเรย์ของอาเรย์ นั่นหมายความว่าเราสามารถมีอาเรย์ในอาเรย์ มาดูตัวอย่างในอาเรย์สองมิติ
int number[3][4];
string location[2][2][2];
ใน ตัวอย่าง แสดงวิธีให้คุณเห็นวิธีการประกาศอาเรย์สองมิติ บรรทัดแรกคือ อาเรย์สองมิติ และบรรทัดที่สองเป็นอาเรย์สามมิติ แต่ในบทเรียนนี้เราจะพูดถึงแค่อาเรย์สองมิติ เพราะว่าอาเรย์หลายมิตินั้นไม่ค่อยได้ใช้ อย่างไรก็ตาม มันมีแนวคิดเดียวกัน
ต่อไป มาดูตัวอย่างวิธีการประกาศอาเรย์สองมิติ
int number[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
อาเรย์สองมิตินั้นเหมือนตาราง โดยการเข้าถึงแต่ละค่าในอาเรย์ ยกตัวอย่างเช่น 10 เราสามารถบเข้าถึงได้โดย number[2][1] และเราสามารถแสดงรายการของข้อมูลทั้งหมดโดยการใช้ for-loop ที่ใช้กัน
#include <iostream>
using namespace std;

int main ()
{
    int m[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}};

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << "m[" << i << "][" << j << "] = ";
            cout <<  m[i][j] << endl;
        }
    }
    return 0;
}
ใน ตัวอย่าง เราใช้ for-loop เพื่อแสดงข้อมูลจากอาเรย์ สำหรับอาเรย์สองมิติ เรามีการใช้ for-loop ที่ซ้อนกัน for-loop ด้านนอกจะใช้รันสำหรับ row และด้านในสำหรับ column m[row][col] และข้างล่างเป็นผลลัพธ์ของโปรแกรม
m[0][0] = 1
m[0][1] = 2
m[0][2] = 3
m[0][3] = 4
m[1][0] = 5
m[1][1] = 6
m[1][2] = 7
m[1][3] = 8
m[2][0] = 9
m[2][1] = 10
m[2][2] = 11
m[2][3] = 12
ในบทนี้ เราได้ครอบคลุมในอาเรย์พื้นฐานทั้งหนึ่งมิติและสองมิติ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...