国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站開發(fā)設(shè)計各部門職責(zé)寧德市疫情

網(wǎng)站開發(fā)設(shè)計各部門職責(zé),寧德市疫情,電子郵件怎么注冊,做現(xiàn)貨黃金網(wǎng)站一維數(shù)組 在內(nèi)存占用連續(xù)存儲單元的相同類型數(shù)據(jù)序列的存儲。 數(shù)組是靜態(tài)存儲器的塊;在編譯時確定大小后才能使用; 其聲明格式如下: 元素類型 數(shù)組名[常量];元素類型:數(shù)組中元素的數(shù)據(jù)類型; 常量&#…

一維數(shù)組

在內(nèi)存占用連續(xù)存儲單元的相同類型數(shù)據(jù)序列的存儲。

數(shù)組是靜態(tài)存儲器的塊;在編譯時確定大小后才能使用;

其聲明格式如下:

元素類型 數(shù)組名[常量];

元素類型:數(shù)組中元素的數(shù)據(jù)類型;
常量:數(shù)組的長度,即數(shù)組中存放數(shù)據(jù)的最大個數(shù);可以是數(shù),也可以是自己的常量;
如:

const int MaxSize=100;int a[MaxSize];


數(shù)組定義后,編譯系統(tǒng)為其分配地址連續(xù)的一段內(nèi)存空間.

數(shù)組名即是所分配內(nèi)存的首地址,也稱為數(shù)組的首地址;

數(shù)組聲明時為其初始化賦值

格式為: 元素類型 數(shù)組名[常量]={初值 1,初值 2,...,初值 n};

初始化時,元素的個數(shù)應(yīng)該小于等于數(shù)組的長度;

例如:

int a[10]={1,2,3}; //定義數(shù)組長度為 10,前 3 個元素初始化為 1,2,3,其它元素為 0;
int a[]={1,2,3}; //定義數(shù)組,長度省略,則長度等于初始化數(shù)據(jù)的實際個數(shù) 3。
int a[100]={0}; //數(shù)組中的值全部為0,只有{0}可以全部初始化;在做true與false時非常有用;

使用數(shù)組

數(shù)組元素通過下標來訪問,每個元素均可視為一個變量來使用,

元素的訪問方式為: 數(shù)組名[下標];

下標值的有效范圍是 0~數(shù)組長度-1;如果越界了,編譯器是可以正常運行的,但是會出錯;

除字符數(shù)組外,其它類型的數(shù)組不允許整體訪問,也就是數(shù)組的輸入輸出需要對各個元素進行,也就是? ? 數(shù)組名[下標]? ?這種方式使用;

訪問數(shù)組元素的地址格式為:

&數(shù)組名[下標]或數(shù)組名+下標

數(shù)組的內(nèi)存形象展示

例如:

int a[10];

聲明了一個長度為 10 的 int 型一維數(shù)組,

系統(tǒng)需要為 a 分配連續(xù)的 40B 的內(nèi)存空間,

元素的訪問方式為 a[i],

地址訪問方式為&a[i]或 a+i,i 值的有效范圍是 0~9。

數(shù)組在函數(shù)中的使用

數(shù)組做形參時,可以不寫下標,如a[] 表示a[]的地址(指針)

? ? ? ? 做實參時,不寫[] 只寫名;如 a

但是類型不要忘了啊!!!

viod f(int a[])//因為是地址傳遞,所以一般不要返回值;
{}
int main()
{int a[100];f(a);return 0;
}

數(shù)組的傳遞方式為地址傳遞,也就是說在自定義函數(shù)進行更改后,在主函數(shù)中也將其更改;因為地址傳遞,傳過去的是地址位置,而你在使用時,只是改變了它的值;

數(shù)組中的一下典型例子:

數(shù)組的輸入賦值與輸出:

	int a[10], i;       //這兩變量實現(xiàn)了數(shù)組的輸入輸出;for (i = 0; i < 10; i++) //i<10:輸入十個數(shù) 這里10可以換成一個變量,可達到更多可能;cin >> a[i];for (i = 0; i < 10; i++)cout << a[i]<<" ";

輸入10個整數(shù),存入一堆數(shù)組中,求最大值及下標;

	int a[10], i,m=0;     //m用來確定最大值的下標for (i = 0; i < 10; i++) cin >> a[i];for (i = 0; i < 10; i++)if(a[i]>a[m])   //這里的比大小:說明了數(shù)組的使用與變量沒有什么不同;m=i;      //數(shù)組與下標的運用;cout<<a[m]<<" "<<m;

從鍵盤輸入n個整數(shù)(n<100),存放在一個一維數(shù)組中,以0結(jié)束;

int a[100],i=0;//a[]為存放的數(shù)組;i為循環(huán)的走下標的一個工具變量;//i=0因為數(shù)組的一個地址從開始;
cin >> a[i];//先輸入一個數(shù)組;若一個數(shù)組是0就沒有存放的數(shù),進不了循環(huán);
while (a[i]){   //用來判斷是否結(jié)束;i++;        //i++ 使數(shù)組下標向下一位移動;cin >> a[i];}//再次存放,記住順序不要搞反了;

從鍵盤輸入n(n<100),再存放n個數(shù)在一維數(shù)組中;

int a[100],i,n;
cin >> n;
for (i = 0; i < n; i++){     //i<n:因為i從0開始,如是=n了就會多加一個數(shù)組;所有不能i<=ncin >> a[i];}

逆序輸出

將數(shù)組下標從后往前走;

for (i = n - 1; i >= 0; i--)cout << a[i] << " ";

逆序存儲

需要兩數(shù)組,一個是正序,一個逆序;

for(int i=0;i<n;i++)//n為數(shù)組的長度b[i]=a[n-1-i];    //a[n-1]才是a數(shù)組的最后一個值;

排序

將原數(shù)組從小到大排序;

普通版,有小的我就換;

//運用了兩個下標,i下標為選取的下標,j下標為與i下標比較的
for(i=0;i<n-1;i++)  //n-1因為第n項為最后一位不用再往后比了;for (j = i+1; j < n; j++)   //i+1從i后一個開始比較;{if (a[j] < a[i])    //要小的{int t = a[i];    //三位轉(zhuǎn)換法a[i] = a[j];a[j] = t;}}

高效版,只換了最小的;

//m起到了高效的作用 
for(i=0;i<n-1;i++){m=i;for (j=i+1;j<n;j++)if (a[j]<a[m])  m=j; //只最從i往后的最小的數(shù);所以只換了i的循環(huán)只轉(zhuǎn)了一次;if (m!=i){t=a[i];a[i]=a[m];a[m]=t;}}

奇偶排序

將數(shù)組按奇數(shù)在前、偶數(shù)在后,同為奇數(shù)或偶數(shù)的按從小到大的順序排序;

在一個數(shù)組里有兩個要求的排序;

普通版:一個一個要求的做;

先選取從小到大的要求一直跟著當(dāng)條件,再先將奇放前,然后偶放后面;

//從a[]的第一個值往后一點一點的滿足條件;
//i為所選,為偶時就往后放,比比較的大時并且為奇時也往后放;
//前頭的我只要小的奇數(shù);所以偶數(shù)都要放后面;
for (i = 0; i < n; i++)//要是i走到了全是偶數(shù)時,不用管,等i走完了在偶數(shù)的循環(huán)時再解決
{for (x = i + 1; x < n; x++){if ((a[i] >= a[x] && a[x] % 2 != 0) || a[i] % 2 == 0){t = a[x];a[x] = a[i];a[i] = t;}}
}for (i = n - 1; i >= 0; i--)//奇牌完,剩偶沒有排,偶都讓我放后面了,所以這回i從后開始
{for (x = i - 1; x >= 0; x--){if (a[x] % 2 != 0)//當(dāng)比較下標走到奇時,就不用走了;{break;}if (a[x] >= a[i] && a[x] % 2 == 0){t = a[x];a[x] = a[i];a[i] = t;}}
}

簡化版:

只需要將條件都列出就好,但是不方便理解;

for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if((s[i]%2<s[j]%2)||(s[i]%2==s[j]%2)&&(s[i]>s[j])) {t=a[i],a[i]=a[j],a[j]=t}
// &&的優(yōu)先級大于||  &&兩邊的式子不用加上();
// s[i]%2<s[j]%2 表示前標為偶,后標為奇,  將偶放前,奇放后;
// 偶數(shù)=0 奇數(shù)=1
//s[i]%2==s[j]%2 表示同為偶||同為奇
//s[i]>s[j]  相同時,而且前標大就換;    ||后邊的式子達到了從小到大;

數(shù)組篩選法?

在面對下標的判斷,而數(shù)組沒有任何要求時,將數(shù)組的值當(dāng)做判斷標志;

不滿足就挖去,最后只要滿足的;

int a[100] = { 0 };//將數(shù)組初始化成0,成為了中間變量,要求只與下標有關(guān);
f(a);              //進行了一列的判斷;將不滿足的數(shù)組值變成非0數(shù);
for (i = 0; i < n; i++)if (a[i] == 0) cout << i << " ";

例如:輸入m、n(m,n<100),輸出[m,n]之間的素數(shù)。

#include <iostream>
using namespace std;
int h(int n) //判斷i是否為素數(shù)
{if (n == 2 || n == 3 || n == 5 || n == 7) return 0;if (n == 1 || n % 2 == 0 || n % 3 == 0 || n % 5 == 0 || n % 7 == 0) return 1;return 0;
}void f(int a[], int m, int n)  //不滿足條件的變成非0
{int i;for (i = m; i <= n; i++){if (h(i) == 1) a[i] = 1;}
}int main()              //0為滿足條件的
{int n, a[101] = {0}, i, m;cin >> m >> n;f(a, m, n);for (i = m; i <= n; i++)if (a[i] == 0) cout << i << " ";return 0;
}

數(shù)組插入

插入,相當(dāng)于排隊,這時來了個老登來插排;

插排者要想插入隊伍當(dāng)中,必須先有人往后去,才能給老登留出位置;

位置怎么留呢?是被插的人先往后串一下就行了嗎?肯定不啊,那樣被插者的后一位的數(shù)據(jù)就被插者給覆蓋了;所以要想完成插隊,必須先從最后一位開始往后串一位,一次到被查的位置;

for(i=n-1;i>=x;i--)//x為被插的位置a[i+1]=a[i];
cin>>a[x];          //老登來也
n++;            //n為人數(shù) 因為來了個老登所以要++;

刪除指定元素

刪掉當(dāng)指定元素相當(dāng)于一堆人正在排隊,突然有個人走掉了,這樣現(xiàn)在這個隊伍,從走掉者的后面一位開始往前串一個位置;

for(i=x+1;i<n;i++){a[i-1]=a[i];}n--;     

刪除所有指定元素

//x為所要刪除的指定元素;j=0;            //j最后呈現(xiàn)的數(shù)組,做到了一個數(shù)組干了兩個數(shù)組的活;for(i=0;i<n;i++){if(a[i]!=x)    //i一直在進行循環(huán),而相同時j不動,這樣就將所刪的元素給越了過去;{a[j]=a[i];j++;  }}n=j;          //n為數(shù)組長度,因為刪除了一些元素,長度發(fā)生了變化

二維數(shù)組

聲明格式為:

元素類型 數(shù)組名[常量1][常量2]

常量1 :數(shù)組的最大行數(shù),常量?2 :數(shù)組的最大列數(shù);

C++中,二維數(shù)組中各個元素按行優(yōu)先規(guī)則在內(nèi)存占用連續(xù)的一段存儲空間;

就是每行存完,再存下一行;

如:int a[3][4]? ? ?// [3][4]代表最大長度,但是在使用時,還是從[0][0]開始從的,與一維數(shù)組類似;

二維數(shù)組初始化

如:2行3列二維數(shù)組的初始化

int a[2][3]={{1,2,3},{4,5,6}};
int a[ ][3]= {{1,2,3},{4,5,6}};
int a[ ][3]={1,2,3,4,5,6}; 

二維的使用

訪問格式為:數(shù)組名[行下標][列下標]

二維數(shù)組例題:

二維輸入輸出

因為是二維,所以一個i用來走下標是不夠用,所有需要兩個工具變量,一個走行,一個走列;

int i,j,a[4][5];
for (i=0;i<4;i++)   //因為c++為行優(yōu)先存儲,所以一般地將代表行的變量放上面for (j=0;j<5;j++)cin>>a[i][j];
for (i=0;i<4;i++){for (j=0;j<5;j++)cout<<a[i][j]<<" ";cout<<endl;          //達到了行滿換行的效果}

二維中尋找特定值

二維需要兩個變量來存儲最大值;

如:最大值

maxi=0;   
maxj=0;for (i=0;i<4;i++)for (j=0;j<5;j++)if (a[i][j]>a[maxi][maxj]){maxi=i;maxj=j;}
cout<<a[maxi][maxj];

二維數(shù)組求和

1.矩陣各行、列求和:

因為是各,所以將一個二維數(shù)組的行列存放在兩個數(shù)組中一個代表行一個代表列;

求行用行的變量下標走,求列用列的變量下標走;

for(i=0;i<n;i++)        for(j=0;j<m;j++)b[i]+=a[i][j];
for(i=0;i<n;i++)for(j=0;j<m;j++)c[j]+=a[i][j];
for(i=0;i<n;i++)cout<<b[i]<<" ";cout<<endl;
for(j=0;j<m;j++)cout<<c[j]<<" ";

2.對角線元素之和:重復(fù)部分不相加 ,一個矩陣擁有兩條對角線,一撇一捺;

矩陣為正方形時

for(i=0;i<n;i++)m+=b[i][i]+b[i][n-1-i];
if(n%2==1)                 //需要處理情況;m-=b[n/2][n/2];  //n為int;//常規(guī)的兩個變量走;不需要考慮重復(fù)部分,因為if里用的是||
for(i=0;i<n;i++)for(j=0;j<n;j++)if(i==j||i=n-1-j)m+=a[i][j]; 

3.周邊求和;

//普通低效版
for(i=0;i<n;i++)for(j=0;;j<m;j++)if(i==0||j==0||i==n-1||j==m-1)s+=a[i][j]; //高效進階版   使計算機少跑幾行
for(i=0;i<n;i++)          //因為走的是行,所以列不動  s+=b[i][0]+[i][n-1];   //將第一列與最后一列加滿
//這里的j要是繼續(xù)從0開始走到m的話,需要在后面的s減掉四個重復(fù)的角;
for(j=1;j<m-1;j++)        //因為走的是列,所以行不動 s+=b[0][j]+[n-1][j];   //將第一行與最后一行加滿

參考文獻:

[1]

[2]

[3]

[4]

http://aloenet.com.cn/news/37863.html

相關(guān)文章:

  • 商標注冊核名查詢系統(tǒng)成都百度快照優(yōu)化排名
  • 做電力 公司網(wǎng)站seo網(wǎng)絡(luò)推廣是什么意思
  • 公司網(wǎng)站注意事項產(chǎn)品推廣詞
  • 南昌網(wǎng)站建設(shè)基本流程上海網(wǎng)絡(luò)推廣公司
  • 移動版網(wǎng)站怎么做如何自己創(chuàng)建一個網(wǎng)站
  • 12306網(wǎng)站為什么做那么差如何進行線上推廣
  • 用.net做網(wǎng)站好 還是用php建站之星
  • 帶做網(wǎng)站天天外鏈官網(wǎng)
  • 成都sem優(yōu)化西seo優(yōu)化排名
  • 南京品牌網(wǎng)站設(shè)計免費創(chuàng)建個人網(wǎng)站
  • wordpress全站靜態(tài)頁面百度網(wǎng)站排名怎么提高
  • 展示型裝飾網(wǎng)站模板網(wǎng)站排名快速提升
  • 騰訊云服務(wù)器用什么軟件做網(wǎng)站怎么從網(wǎng)上找國外客戶
  • 網(wǎng)站開發(fā)維護花費seo關(guān)鍵詞分析表
  • 學(xué)院網(wǎng)站建設(shè)與管理辦法今日國家新聞
  • 抖音代運營需要什么資質(zhì)東莞優(yōu)化怎么做seo
  • 建站網(wǎng)絡(luò)電商網(wǎng)站建設(shè)開發(fā)
  • 網(wǎng)站建設(shè)A系列套餐報價代寫文章多少錢
  • 網(wǎng)站后臺分析圖怎么做seo去哪學(xué)
  • 沈丘做網(wǎng)站yooker百度seo手機
  • 建設(shè)物流網(wǎng)站的規(guī)劃網(wǎng)絡(luò)營銷戰(zhàn)略的內(nèi)容
  • 網(wǎng)站浮動窗口如何做江西seo推廣
  • 建設(shè)網(wǎng)站企業(yè)排行網(wǎng)絡(luò)營銷工程師前景
  • 網(wǎng)站開發(fā)費用稅常德網(wǎng)站設(shè)計
  • wordpress主題ruikedu正規(guī)seo關(guān)鍵詞排名哪家專業(yè)
  • 怎么做app和網(wǎng)站購物最好的營銷策劃公司
  • php網(wǎng)站后臺管理模板推廣排名
  • 什么是網(wǎng)站排名優(yōu)化百度關(guān)鍵詞挖掘工具
  • 廣廣東網(wǎng)站建設(shè)百度軟件下載中心官方網(wǎng)站
  • 網(wǎng)站建設(shè)頁面設(shè)計南寧百度seo軟件