日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数组的算法

發布時間:2024/9/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数组的算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組的算法

在我們計算機界, 簡稱機界, 有這么一句話, “程序是由數據結構+算法組成的.”. 數據結構我們后面還會給大家慢慢普及, 那算法呢? 已經學了這么多了, 該來點兒邏輯思維強一點的東西了. 也是給自己設置的一個小小障礙吧. 數組學完了, 很簡單的一個知識點. 但是, 學完數組不講一點兒算法, 總覺著心里過不去, 好像少了一點兒什么東西一樣. 那本節就給大家講一丟丟

算法1: 質數

質數: 只能被1和自身整除的數 思路: 用戶任意輸入一個數字n, 假設n=7, 如何判斷7是否是質數呢? 既然概念上講只能被1和自身整除, 那我們就從2開始除. 看是否能整除. 如果能整除, 一定不是質數. 如果不能整除, 繼續除以3. 以此類推. 一直除到6. 也就是n-1 如果在這期間. 沒有人能夠被整除. 這個數一定是質數. Scanner sc = new Scanner(System.in); System.out.println("請輸入一個數字"); int n = sc.nextInt(); boolean flag = true; for (int i = 2; i < n; i++) {if (n % i == 0) {flag = false;break;} } if (flag) {System.out.println("是質數"); } else {System.out.println("不是質數"); }

算法2: 冒泡排序

排序算法永遠是程序員的痛. 我們今天介紹一個入門算法 我們把算法分為三部分: 如何實現兩個數互換 使用交換的方式把數組中最大的數移動到數組的最后 不停的重復第二步. 第一步, 交換: 有變量a, 和變量b. 想要實現互換. 并不是一件容易的事. 先看錯誤示范:int a = 10;int b = 20;a = b;b = a;System.out.println(a); // 20System.out.println(b); // 20為什么會這樣呢? a = b的時候是把b的值賦值給a. 那a原來的值就沒了….所以最后的結果都是20 正確的交換算法: int a = 10;int b = 20;int c = a; // 引入中間變量a = b;b = c;System.out.println(a);System.out.println(b);

?完整代碼

int[] arr = {1, 55, 2, 17, 8, 12, 5}; for (int i = 0; i < arr.length - 1; i++) { //要移動多少次for (int j = 0; j < arr.length - i - 1; j++) { //每次要比較的范圍if (arr[j] > arr[j + 1]) {int c = arr[j]; //大的數arr[j] = arr[j + 1]; //交換arr[j + 1] = c;}} }System.out.println("冒泡排序完成:"); // System.out.println(arr); for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]); }

算法3: 求數組中最大的數

int[] arr = {1,55,2,17, 8,12,5};// 假設第0個元素就是最大值int max = arr[0];// 判斷是不是有比最大值還大的值for(int i = 0 ; i < arr.length; i++){if(arr[i] > max){max = arr[i];}}System.out.println("最大值是:" + max);

算法4: 計算平方和

int[] arr = {1,55,2,17, 8,12,5};// 保存最后的結果int sum = 0;for(int i = 0; i < arr.length; i++){int n = arr[i] * arr[i]; // 求平方sum += n; //累加到一起}System.out.println(sum);

總結

以上是生活随笔為你收集整理的数组的算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。