#pragma mark-
陣列//
變數實際上就是乙個容器,陣列也是乙個容器,,這個容器可以儲存更多的內容。
//1.
陣列屬於構造型別
//2.
具有相同資料型別的成員組成一組陣列。
//3.
儲存不同型別的陣列有對應的名稱,如:
ios班
,安卓版,//
同理,整數型別:陣列中的成員都是整數,浮點型陣列,陣列中的成員是浮點型。
//4.
陣列是由多個成員組成而成,每個成員被稱為陣列元素。
//定義陣列型別:
//型別修飾符
陣列名【常量表示式】=;
//2.
中設定陣列中元素的個數,即陣列的儲存空間,只是常量表示式,不能是變數表示式,
//3.
初始值之間使用『,
』間隔。
//方式1//
定義整數陣列,陣列中儲存
3個元素:1,
2,3//int a[3]=;
//方式
2 沒有賦值的元素,自動設定初始值為
0;//int a[5]=;
//方式
3//int c[5]=;
//方式
4//int c=;
//誤區:
//1.
指定的陣列元素個數,
<
設定初始的數量大於指定元素個數
>
//int e[3]=;
//2.
既沒有指定元素個數,也沒有賦初值。
//int f=;
//定義陣列後,陣列的儲存空間是連續的。
//陣列的儲存空間:元素個數
*元素占用的位元組
//printf("%lu\n",sizeof(a));
//訪問陣列元素
//浮點型陣列:
//float array[5]=;
//字元型陣列
// char a1[6]=;
// char a2[6]="iphone";
/*1.
不能一次整體呼叫整數陣列全部元素的值,基本資料型別變數中值儲存乙個資料,陣列中儲存多個資料,不能通過陣列變數呼叫所有的陣列元素
2.訪問陣列元素:使用下標實現陣列名【下標】;
3.下標:陣列元素在陣列中的序號,陣列中的元素是有序的。每個元素都有序號,序號從
0開始遞增,最後乙個元素的序號是
n-1,
n表示陣列元素的個數。
4.下標必須是整型常量
*///
遍歷陣列
//按照順序,從陣列的第乙個元素開始訪問,訪問到最後乙個元素結束
//使用
for迴圈實現陣列訪問
//迴圈和陣列的關係很好
//int age[5]=;
// for (int i=0; i<5; i++)
// 反向遍歷
//按照從後面向前的順序,輸出陣列元素
// for (int i=4; i>=0; i--)
//修改陣列元素
//根據陣列下標確定需要修改陣列元素
//遍歷陣列
// int array=;
// for (int i=0; i<5; i++)
// printf("\n-------
修改後--------\n");
// array[0]=8;
// array[3]=6;
// for (int i=0; i<5; i++)
//越界:
//1.
使用陣列下標時,超出下標範圍
// int e[3]=;
// printf("%d",e[3]);
//2.
陣列越界很危險,一旦越界,即訪問了不屬於陣列的儲存空間
//3.
編譯器不會檢測陣列元素下標的越界,因此運算元組是必須保證沒有越界。
//注意事項:
//1.
定義陣列
和陣列元素
//2.
陣列作為乙個整體不可以直接參與運算
//練習
定義乙個具有
20個元素的整形資料,每個元素的取值範圍是【30,
70】之間,求陣列元素的和
// int a[20]=;
// int sum=0;
// for (int i=0; i<20; i++)
// printf("sum=%d",sum);
//練習
2 :複製乙個陣列,即
2個陣列容器一樣,把其中乙個陣列中的元素複製到另外乙個陣列中。
// int array1[5]=;
// int array2[5]=;
// //
複製陣列
// for (int i=0; i<5; i++)
//
// //
列印// for (int i=0; i<5; i++)
//
//練習:生成
2個陣列
,每個陣列都有
10個元素
,元素取值範圍【
20,40
】之間,
陣列對應元素相加,放到另外乙個陣列中。
// int array1[10]=;
// int array2[10]=;
// int array3[10]=;
// printf("--------array1----------\n");
// for (int i=0; i<10; i++)
// printf("\n--------array2----------\n");
// for (int i=0; i<10; i++)
// printf("\n--------array3---------\n");
// for (int i=0; i<10; i++)
#pragma mark-
陣列排序
sort
/*氣泡排序的規律有
2種:公升序(小
-大),降序(大到小)
//排序的基本思路:每次將相鄰的
2個數進行比較,按照公升序或者降序的順序進行交換,直到所有的數字順序全部正確。
//排序:
//原始資料:
28 36 19 2 23
第一趟:
第一次:
28 36 19 2 23
第二次:
28 19 36 2 23
第三次:
28 19 2 36 23
第四次:
28 19 2 23 36
第二趟:
第一次:
19 28 2 23 36
第二次:
19 2 28 23 36
第三次:
19 2 23 28 36
第三趟:
第一次:
2 19 23 28 36
第二次:
2 19 23 28 36
第四趟:
第一次:
2 19 23 28 36
//規律:
n個元素比較
n-1,
次數等於陣列個數-趟數
*/// int array[5]=;
// for (int i=0; i<5-1; i++)
//
// }
// }
// for (int i=0; i<5; i++)
//隨機產生
10個【20,
40】排序,公升序
intarray[
10]=;
//隨機數
for(
inti=
0; i<
10; i++)
//排序
for(
inti=
0; i<10-
1; i++) }}
printf(
"\n排序後
\n");
for(
inti=
0; i<
10; i++)
return0;
DAY05(冒泡,選擇排序)
1 氣泡排序 優化前 public class maopao 分析 前乙個與後乙個比較大小,如果前乙個比後乙個大則交換順序,每一次迴圈,得到的就是最大的那個數在末尾 假設陣列元素有2 5 1 6 3 迴圈第0次 2 5 1 6 3 2 1 5 6 3 2 1 5 6 3 比較了,沒交換 2 1 5 ...
JS學習 day05 陣列
一 陣列定義 1 一系列有序 索引 的資料集合。2 格式 資料1,資料2,3 建立方式 1 字面量 賦值式 var arr 1,2,3 2 內建建構函式建立陣列 var arr new array 1,2,3 注意 當括號裡只有乙個資料時,表示陣列長度 length 4 陣列長度length表示陣列...
java學習筆記day05 陣列
陣列 是一種容器,可以同時存放多個資料值。陣列的特點 1.陣列是一種引用資料型別 2.陣列當中的多個資料,型別必須統一 3.陣列的長度在程式執行期間不可改變 陣列的初始化 在記憶體當中常見乙個陣列,並且象其中賦予一些預設值。兩種常見的初始化方式 1.動態初始化 指定長度 2.靜態初始化 指定內容 動...