數組以及冒泡排序


數組

1、概念:可以幫我一次聲明多個同類型的變量,這些變量再內存中是連續存儲的。

2、聲明語法數據類型[] 數組名 = new 數據類型[數組長度]
? ? 數組長度:一次要聲明的同類型的變量個數。是在定義這個數組的時候就確定了,或者是用初始化聲明的時候,初始化的值就確定了,以后是不可變的
? ? eg:int[] score = new int[5];聲明了一個長度為5的數組,數組名為score,通俗點說,就是聲明了一個數組,里面包含了5個int類型的變量,數組名叫score,里面的5個int類型的變量叫做:數組元素。
3、數組的訪問:通過下標(索引)來訪問數組。數組名[編號]。編號是從0開始的,最后一個編號是數組的個數減一
4、初始化數組:int類型的數組一旦聲明,里面的每一個元素被初始化成0。通過快速監視發現,string數組的默認初始化為null,但是還是能夠輸出
5、數組長度:通過 數組名.Length 可以獲得數組的長度,也就是數組的個數
6、遍歷數組:依次訪問數組或者集合中的每一個元素,并且每一個元素只是被訪問一次
7、直接賦值方式聲明數組:int[] nums = {5,3,8}; 聲明一個長度為3的數組,每一個元素的值分別為:5,3,8,元素的值之間用逗號隔開。外層直接用以大括號?
int[] nums = new int[3]{5,3,8};這種方式聲明中大括號中的數據個數必須和數組長度一樣,否則報錯,故最好不要用這種方式來聲明數組
int[] nums = new int[5]{5,3,8}; //error ?數組個數與長度不匹配
int[] nums = new int[]{5,3,8};//OK,可以聲明長度

string[] strArr = { "zhangshan", "lisi", "wangwu" };

?

<span style="font-size:18px;">            int[] intArr = new int[5];int[] intArr2 = new int[] { 5, 3, 8 };//錯誤	2	應輸入長度為“5”的數組初始值	//int[] intArr3 = new int[5] { 5, 3, 8 };int[] intArr4 = { 5, 3, 8 };//給數組賦值for (int i = 0; i < intArr.Length; i++){Console.WriteLine("請輸入第{0}個數:", i);intArr[i] = Convert.ToInt32(Console.ReadLine());}//遍歷數組for (int i = 0; i < intArr.Length; i++){Console.WriteLine("第{0}個數為:{1}", i, intArr[i]);}Console.WriteLine("數組 intArr2 的長度為:{0}", intArr2.Length);   //3for (int i = 0; i < intArr2.Length; i++){Console.WriteLine("第{0}個數為:{1}", i, intArr2[i]);}Console.WriteLine("數組 intArr4 的長度為:{0}", intArr2.Length);   //3for (int i = 0; i < intArr4.Length; i++){Console.WriteLine("第{0}個數為:{1}", i, intArr4[i]);}string[] strArr = { "zhangshan", "lisi", "wangwu" };for (int i = 0; i < strArr.Length; i++){Console.WriteLine(strArr[i]);}</span>



?

冒泡排序

讓數組中的元素兩兩比較(第i個和第i+1個進行比較),經過n(i-1)遍兩兩比較,數組中的元素能按照我們預期的規律進行排列。兩兩比較的時候,如果是從大到小排列則用小于號,如果是從小到大排列則用大于號。


?

<span style="font-size:18px;">            //源數組int[] arr = { 3, 56, 23, 67, 11, 13, 4, 14, 67 };</span>

從小到大的冒泡排序:

?

<span style="font-size:18px;">//從小到大冒泡排序//控制比較的趟數for (int i = 0; i < arr.Length-1; i++){//控制每一趟比較的次數for (int j = 0; j < arr.Length - 1 - i; j++){if (arr[j] > arr[j + 1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}Console.WriteLine("從小到大排序結果為:");for (int i = 0; i < arr.Length; i++){Console.Write(arr[i] + ",");}</span>


從大到小的冒泡排序:

<span style="font-size:18px;">//從大到小排序//控制趟數for (int i = 0; i < arr.Length-1; i++){//控制每一趟比較的次數for (int j = 0; j < arr.Length-1-i; j++){if (arr[j] < arr[j + 1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}Console.WriteLine("");Console.WriteLine("從大到小排序結果為:");for (int i = 0; i < arr.Length; i++){Console.Write(arr[i] + ",");}</span>




?

轉載于:https://www.cnblogs.com/qigang/p/3841939.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375866.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375866.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jQuery觸發a標簽的點擊事件無效

1 <a id"workFrame" href"pages/work.html" target"FrameBox">首頁</a> 2 3 $("#workFrame").tigger("click"); 上述的代碼&#xff0c;其實挺正常的&#xff0c;但是怎么也觸發不了a標簽的cli…

操作系統上機作業--多線程排序

sort.c: 多線程排序 ? 主線程創建一個輔助線程 ? 主線程使用選擇排序算法對數組的前半部分排序 ? 輔助線程使用選擇排序算法對數組的后半部分排序 ? 主線程等待輔助線程運行結束后,使用歸并排序算法歸并數組的前半部分和后半部分 實現思路&#xff1a; ARRAY_CO…

jdk5下載鏈接

查看jdk版本 java -versionJDK下載 最新版本http://www.oracle.com/technetwork/java/javase/downloads/index.htmlJDK下載 版本1.5.22http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase5-419410.html#jdk-1.5.0_22-oth-JPR JDK…

html的細節優化,網站頁面優化細節詳解

原標題&#xff1a;網站頁面優化細節詳解SEO頁面優化是繼SEO結構優化之后&#xff0c;另一個重要優化地方;頁面標題在每個頁面中的關鍵位置&#xff0c;出現目標關鍵詞&#xff0c;這是我們做頁面優化的基礎思路&#xff0c;關鍵詞位置&#xff0c;都有哪些呢?第一個是關鍵位置…

突擊優化算法!

Matlab語言可以與C/C語言轉換或調用。 Matlab語句&#xff1a;load name 把name中文件的所有變量載入到工作空間中。save name 保存工作空間的變量到name.mat中。 cholesky分解把一個正定矩陣分為一個下三角矩陣和它轉置矩陣的乘積。 兩種創立符號函數的方法&#xff1a;sym函數…

操作系統上機作業--使用條件變量解決生產者、計算者、消費者問題(多線程)

pc1.c: 使用條件變量解決生產者、計算者、消費者問題 /* ? 系統中有3個線程&#xff1a;生產者、計算者、消費者 ? 系統中有2個容量為4的緩沖區&#xff1a;buffer1、buffer2 ? 生產者生產a、b、c、‘d、e、f、g、h八個字符&#xff0c;放入到buffer1 ? 計算者從b…

淘寶代碼和html區別,taobao.html

taobao主題市場女裝 /男裝 /內衣 >鞋靴 /箱包 /配件 >童裝玩具 /孕產 /用品 >家電 /數碼 /手機 >女裝 /男裝 /內衣 >鞋靴 /箱包 /配件 >童裝玩具 /孕產 /用品 >家電 /數碼 /手機 >女裝 /男裝 /內衣 >鞋靴 /箱包 /配件 >童裝玩具 /孕產 /用品 >…

程序各個段text,data,bss,stack,heap

網上找了一堆資料學習一下,了解這些, 有助于規化程序結構,優化代碼; 使用gcc編譯出來的程序,用size可以查看程序結構和大小, 如 1: #size hello 2: Text data bss dec hex filename 3: 778 200 4 982 3D6 hello 所以一個可執行的程序文件,結構分三部分: .text 代碼段,用來存…

讓 keil MDK 支持C99

打開options fot target-> C/C 在 Misc Controls 中添加 --c99. 轉載于:https://www.cnblogs.com/svchao/p/4585034.html

html從日期格式中獲取年,js轉換日期格式(Js獲取年月日及時間轉換)

1、獲取年、月、日和將時間戳轉換成日期格式// 簡單的一句代碼var date new Date(時間戳); //獲取一個時間對象/**1. 下面是獲取時間日期的方法&#xff0c;需要什么樣的格式自己拼接起來就好了2. 更多好用的方法可以在這查到 -> http://www.w3school.com.cn/jsref/jsref_o…

月半小夜曲

轉載于:https://www.cnblogs.com/yesihoang/p/4588319.html

操作系統上機作業-- 使用信號量解決生產者、計算者、消費者問題(多線程)

pc2.c: 使用信號量解決生產者、計算者、消費者問題 ? 功能和前面的實驗相同&#xff0c;使用信號量解決 實現思路: 生產者、計算者、消費者三者之間的關系和上一個編程任務一樣&#xff0c;不一樣的是&#xff0c;將互斥量、條件變量封裝起來作為信號量&#xff0c;處理方…

Singleton 單件

模式分類 從目的來看&#xff1a; -創建型&#xff08;Creational&#xff09;模式&#xff1a;負責對象創建 -結構型&#xff08;Structural&#xff09;模式&#xff1a;處理類與對象間的組合 -行為型&#xff08;Behavioral&#xff09;模式&#xff1a;類與對象交互中的職責…

引入struts html標簽,【學習】Struts標簽之html標簽

html:multiboxhtml:multibox標簽生成多個checkbox。當您要使用大量的checkbox時使用這個標簽非常方便&#xff0c;可以使您避免在ActionForm中聲明大量的boolean類型的變量&#xff0c;帶之以一個數組就行了。注意:為了正確的處理沒有選中的checkbox您必須在reset()中設置數組的…

10個利用Eclipse調試Java的常見技巧

http://www.open-open.com/news/view/1ad9099 閱讀目錄 1. Conditional Breakpoint2. Exception Breakpoint3. Watch Point4. Evaluation (Display or Inspect or Watch)5. Change Variable Values6. Stop in Main7. Environment Variables8. Drop to Frame9. Step Filter10. S…

操作系統上機作業--創建N個線程(多線程)

ring.c: 創建N個線程&#xff0c;它們構成一個環 ? 創建N個線程&#xff1a;T1、T2、T3、… TN ? T1向T2發送整數1 ? T2收到后將整數加1 ? T2向T3發送整數2 ? T3收到后將整數加1 ? T3向T4發送整數3 ? … ? TN收到后將整數加1 ? TN向T1發送整數N 實…

管理者不應該做的事

1.責備讓每個人明白出錯的時候要承擔責任&#xff0c;而不是責任他&#xff0c;出問題要幫他認識問題&#xff0c;并且給他提供解決辦法&#xff0c;先了解來龍去脈&#xff0c;看看是哪里出了問題&#xff0c;是否能避免 2.印象沒有人會因為你的服裝、你的車、你的財產、你的頭…

臺式計算機網線,臺式電腦如何連接寬帶_臺式電腦如何連接網線

2017-03-11 21:36:28電腦直接撥號上網(有寬帶賬號和密碼)或者自動獲取IP(有帳號沒密碼)上方式設置見圖2016-12-10 13:29:30右擊網上鄰居&#xff0c;點屬性&#xff0c;創建一個新的連接&#xff0c;按照下一步下一步的步驟就可以了&#xff0c;然后成功之后輸入你的寬帶號碼和…

棧的應用--漢諾塔

#include<stdio.h>void move(char x,int n,char y){printf("%d號盤 %c柱 ---> %c柱\n",n,x,y); }void hanoi(int n,char x,char y,char z){if(n1){move(x,1,z);}else{hanoi(n-1,x,z,y);move(x,n,z);hanoi(n-1,y,x,z);} }int main(){int n;char xX;char yY;c…

Linux split命令實例

曾經是否想要把一個大文件分割成多個小文件&#xff1f;比如一個5gb日志文件&#xff0c;我們需要把它分成多個小文件&#xff0c;這樣我們才有可能使用普通的文本編輯器讀取它。有時我們需要傳輸20gb的大文件到另一臺服務器&#xff0c;這就需要我們把它分割成多個文件&#x…