天天看點

[程式設計筆記]第五章 數組

  1. 為什麼需要數組?
為了解決大量同類型資料的存儲和使用問題
  為了模拟現實世界
           
  1. 數組的分類
一維數組:
          怎樣定義一維數組
          格式: 資料類型 數組名[元素個數] ;
              為n個變量連續配置設定存儲空間
              所有的變量資料類型必須相同
             所有變量所占的位元組大小必須相等
         //例子
             int a[5] ;
             一維數組名不代表數組中的所有元素
             一維數組名代表數組第一個元素的位址  
         有關一維數組的操作
             初始化
                 1. 完全初始化
                     int a[5] = {1,2,3,4,5} ;
                 2. 不完全初始化 //未被初始化的元素自動為零
                     int a[5] = {1,2,3} ;
                 3.不初始化 //所有元素都是垃圾值
                     int a[5] ;
                 4.清零 
                     int a[5] = {0} ;
               指派
             排序
             求最大/最小值
             倒置
             查找
             插入
             删除
 
     二維數組
         格式:資料類型 數組名[行數][列數] ;
         int a[3][4] ;
         //總共是12個元素可以當做是3行4列看待,依次為:
         a[0][0]   a[0][1]   a[0][2]   a[0][3]
         a[1][0]   a[1][1]   a[1][2]   a[1][3]
         a[2][0]   a[2][1]   a[2][2]   a[2][3]
         int a[m][n] ;//該二維數組右下角位置坐标元素隻能是a[m-1][n-1]
           
//初始化:
         int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12} ;
         int a[3][4] =
         {
             {1,2,3,4} ,
             {5,6,7,8} ,
             {9,10,11,12} ,
         } ;
           
//操作:
         //輸出二維數組的内容
             int a[3][4] 
             {
                 {1,2,3,4} ,
                 {5,6,7,8} ,
                 {9,10,11,12} ,
             } ;
           
int i,j ;
         //輸出數組内容
         for (i=0; i<3; ++i)
         {
             for (j=0; j<4; ++j)
                 printf("%d",a[i][j]) ;
             printf("\n") ;
         }
           
對二維數組進行排序
        求每一行的最大值
        判斷矩陣是否對稱
        矩陣的相乘

    
    多元數組
        是否存在多元數組
            答:不存在,因為記憶體是線性一維的
            n維數組可以當做每個元素是n-1維數組的一維數組。
        例如:
            int a[3][4] ;
            //該數組是含有3個元素的一維數組
            隻不過每個元素都可以再分成4個小元素  
           int a[3][4][5] ;
           //該數組是含有3個元素的一維數組
           隻不過每個元素都是4行5列的二位數組           

Talk is cheap. Show me the code