此例項的要求是在兩個已經擺好順序的陣列尋找第乙個相同的元素在第乙個陣列中的指標。
這個例項的思想比較好,如果我來做的話,就是先從第乙個陣列的第乙個元素開始,每次取出乙個元素,與第二個陣列的每乙個元素進行比較,當元素值相等的時候,返回元素的指標。
但是在此例項中,使用了另外一種思想,在我看來降低了程式的時間複雜度。其思想為:由於兩個陣列都已經排好順序,則分別從兩個陣列的第乙個元素開始,比較大小,將較小的元素的陣列的位置指向下乙個,知道找到相同的元素為止。
下面我程式的實現部分:
#include
#define null 0
/** * 在已知兩個從小到大的有序陣列中尋找出現的相同的
* 元素在第乙個陣列中的指標
* * 思想:
* 由於兩個陣列是已經拍好順序的,所以可以這樣:
* 從兩個陣列的第乙個元素開始,比較兩個陣列的元素
* 較小的元素的陣列位置向下移動,知道找到相等的元素
*//**
* @brief search 找到兩個陣列中第乙個相同的元素的指標
* @param array1 第乙個陣列
* @param n1 第乙個陣列的長度
* @param array2 第二個陣列
* @param n2 第二個陣列的長度
* @return 返回兩個陣列第乙個相同元素在第乙個陣列中的指標
*/int search(int
*array1,int n1,int
*array2,int n2)else
if(*p1 > *p2)else
}return null;
}int main(void)
下面是我的程式的執行結果:
尋找陣列中不相同元素的個數
題意 乙個整數陣列,計算該陣列中不相同整數的個數。如a 則輸出不相同的個數為7.方法一是使用hash陣列,將hash陣列裡面的數全部制為0 然後hash a i 為0時,將其設定為1 最後hash陣列的和就是不同數字的數目。此種方法的缺點就是只能適合整形陣列,其他陣列不適合 但是優點就是時間複雜度小...
python尋找多數元素 尋找多數元素
今天實現的演算法是尋找多數元素,多數元素是指在乙個含有n個元素的序列 現次數多於 n 2 向下取整 的元素。蠻力尋找多數元素是對每個元素進行計數,如果某個元素的計數超過 n 2 則斷言它是多數元素,否則不存在多數元素。這種方法的時間複雜度過高,可以尋找更高效能的演算法解決這類問題。如果乙個序列存在多...
python尋找多數元素 尋找多數元素 演算法
定義 整型陣列a 1.n 如果整數x在陣列a 現的次數多於半數,則x稱為多數元素 應用概念 觀察結論5.1 在原序列中去除兩個不同的元素後,那麼在原序列中的多數元素在新序列中還是多數元素。例1 1,2,2,3,2,2,3 顯然2是多數元素 去除1,2,在2,3,2,2,3中2仍是多數元素 去除1,3...