C 陣列常用演算法以及在遊戲中的具體應用

2021-08-20 22:00:42 字數 1214 閱讀 9075

很久沒有寫東西了,近期會寫一些東西。

我剛開始做unity的時候,肯定也是避免不了找工作的,在很多公司面試的面試題中,對於演算法的考察,氣泡排序,選擇排序,二分查詢等,這些是常常遇到的,哪怕是現在面試,也是一樣。我覺得,還是舉一些例子更加實際。

我還是很喜歡北京夏天的夜晚的,前幾天去南方,真叫乙個折騰。買了晚上8點回北京的票,結果晚點8小時,退了在買凌晨4點半的,結果還是晚點四個小時,之後,改簽,操他大爺的,盡然還是晚點40分鐘,南方真的好悶熱,背**了一背的痱子。一冷一熱,來了個多年不遇的感冒。我就抱怨一下,還是接著寫東西。還是一樣,在很多地方我會加上備註。

以下是常見兩種在一維陣列中尋找最值的方法

二分查詢,在陣列中查詢已經給定數值的位置(下標)

二分查詢前提是,被查詢的資料必須是不重複的  

思路:假設資料是按公升序排序,對於給定的虛擬最大值x,首先從序列中間位置開始比較,如果當前位置的值等於x,則查詢成功,若x小於當前位置的值,則在數列的前半段中查詢  如果當前位置的值大於x,則在序列的後半段中繼續查詢,直到找到為止

陣列的排序問題:選擇排序和氣泡排序

選擇排序

基本思想是:首先以陣列中第乙個元素為基準,從左到右開始查詢,找出最小的元素和第乙個元素替換。比如有陣列a,以a[0]為基準,然後在a[0]到a[a.length]中尋找最小值,然後跟a[0]替換 ,一直進行到基準位移到陣列的最後一位

一維陣列的氣泡排序

基本思想:將相鄰的兩個數比較,將較小的數調到前頭,n個數就需要n-1次比較

第j趟,就需要n-j次比較

氣泡排序是相鄰兩個數進行比較    

選擇排序是前面乙個數和後面的比自己大或者小的數替換位置,數與數之間並不相鄰

今天就先到這裡了,看世界盃了。

c語言程式設計題關於陣列以及演算法

有關c語言的作業題 請編乙個函式void fun int tt m n int pp n tt指向乙個m行n列的二維陣列,求出二維陣列每列中最小元素,並依次放入pp所指一維陣列中。二維陣列中的數已在主函式中賦予。示例結果可以見樣圖 已經給出的 為下 include define m 3 define...

陣列基礎以及常用操作

陣列的概念 相同資料型別的元素按一定順序排列的 集合,就是把有限個型別相同的變數用乙個名字命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為 下標。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。陣列是在程式設計中,為了處理方便,把具有相同型別的若干變數按有序...

常用前端演算法以及運用

1 判斷乙個字串是否屬於回文。function checkpalindrom str 2 二維陣列中的查詢function finditem arr,item 3 陣列去重a。let uniqueint function arr let data for let i 0 i4 統計陣列中項,找出最多...