第五章 陣列

2021-10-01 17:00:11 字數 2419 閱讀 3730

學習目標:

1、理解陣列含義

2、學會一維陣列、二維陣列解決實際問題

3、掌握各種元素排序等

**知識點梳理(重難點和基本知識)

一、一維陣列的定義

陣列的概念:按順序排列的一組同種型別的變數構成的集合。

乙個陣列在記憶體中佔一片連續的儲存單元

1、一維陣列的定義

定義一維陣列的格式:

型別識別符號 陣列名[常量表示式];

例:int d[50],g[100]

int a[5*10]

#define n 50

int b[n]

下標從0開始

一維元素的引用

引用格式為 陣列名[下標]

下標只能為整型常量或整型表示式,值必須在陣列定義的下標範圍內,否則會出現下標越界錯誤!

二、一維陣列的輸入與輸出

輸出陣列:

int h[100];

for(i=0;i<100;i++) cout<<h[i];

輸入陣列:

1、鍵盤讀入

int h[100];

for(i=0;i<100;i++) cin>>h[i];

2、直接賦值

int h[100],a[20];

for(i=0;i<100;i++) h[i]=0;

(1)memset 函式(清零作用)

給陣列「按位元組」進行賦值,一般用在 char 型陣列中,如果是 int 型別的陣列,一般賦值為 0 和 -1。使用前需要包含標頭檔案:#include 。

(2)fill 函式

給陣列「按元素」進行賦值,可以是整個陣列,也可以是部分連續元素,可以賦任何值。使用前需要包含標頭檔案:#include

例fill(a,a+10,5)就是將a陣列的前10個元素賦值為5

int a[10]=

int a[10]=//部分賦值,後面的元素自動初始化為0

int a[ ]=//不定義陣列長度,直接根據賦值個數定

#include

#include

using namespace std;

int main()

三、一維陣列的插入刪除

1、插入

插入乙個元素,需要先找到插入的位置(假設下標為 x),將這個元素及其之後的所有元素依次往後移一位(注意要從後往前進行操作),再將給定的元素插入(覆蓋)到位置 x

2、刪除

刪除某乙個元素,也需要先找到刪除的位置(假設下標為 x),將下標為 x+1 及其之後的所有元素依次向前移一位,覆蓋原來位置上的元素

例2.【問題描述】

有 n 個人(每個人有乙個唯一的編號,用 1~n 之間的整數表示)在乙個水龍頭前排隊準備接水,現在第 x 個人有特殊情況離開了隊伍,求第 x 個人離開隊伍後的排隊情況。

【輸入格式】

第一行 1 個正整數 n,表示有 n 個人,2>n;

for(i=0;i> a[i];

for(j=0;j

a[l+1]=temp;}}

氣泡排序

#include

#include

using namespace std;

const int n=10;

int t,a[n+1]; //定義陣列

int main()

if(flag) cout << 「 「 << i;

}cout << endl;

return 0;

}演算法2、篩選法

篩選法又稱為篩法,是由希臘著名數學家埃拉託色尼 (eratosthenes) 提出的。相比窮舉法,篩選法的效率更高。以求 1~20 之內素數為例,具體步驟如下:

(1) 將所有數(2~n)放入「篩子」中,把 1 刪除;

(2) 2 在篩中,將 2 的倍數 2,4,…,20 刪除(篩去);

(3) 3 在篩中,將 3 的倍數 6,9,…,18 刪除(篩去);

(4) 4 不在篩中,不執行刪除(篩去)操作;

……(10) 10 不在篩中,不執行刪除(篩去)操作。

#include

#include

感悟與思考

這一章學習了陣列的相關概念。有很多地方需要我們掌握,首先是一維陣列與二維陣列的相關知識,再就是將這些知識應用實際中,這才是c++的精髓所在。但是在學習的過程中,我確實感受到了很大的阻力,學起來開始很吃力,不管是在聽課還是在自己寫程式時,都有很大的障礙,不是很好理解,也不是一看就會寫,更多的是不斷試錯,與同學商量,或者參看網上答案,所以對於這一部分還有很大的空間需要提高自己,但是更需要自己先精看課本,不斷嘗試,只有在每次出錯中找到問題所在才能有所進步。所以下一步還是繼續完善自己,先好好看課本,然後自己嘗試多寫程式,多多練習與找錯。

第五章 陣列

陣列就是一組相同型別的變數,它們往往都是為了表示同一批物件的統一屬性,如乙個班級所有同學的身高 全球所有國家的人口數等。陣列可以是一維的,也可以是二維或多維的。使用一維陣列時,一般是從0開始編號,s i 就表示第i 1個同學的身高,i稱為下標變數。例如讀人50個同學的身高,語句就可以這樣書寫 for...

第五章 陣列array

所謂陣列,是指將那些具有相同型別的 數量有限的若干個變數通過有序的方法組織起來的一種便於使用的形式。陣列屬於一種構造型別,其中的變數被稱為陣列的元素。陣列元素的型別可以是基本資料型別,也可以是特殊型別和構造型別。表示長度 下標從0 開始 int float,double,char 要賦值,初始化 簡...

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...