本篇部落格主要以乙個小例子來初步探索一下「搜尋」,包括程式的邏輯結構設計
例:在美元中,硬幣是有名字的,它有一些英文單詞去對應的硬幣的面值,比如1分錢叫做penny,5分錢叫做nichel......(有乙個數字對應乙個英文單詞)。如果要編寫乙個程式做搜尋,使用者輸入乙個數字(面額),程式輸出對應的英文,那麼如何實現?
分析:本題的關鍵點是如何建立「數字面值」與「英文」這兩者之間的聯絡。可以分別設定兩個陣列
如圖所示,如果在amount陣列中搜到了乙個值:比如10,得到它所在的位置是2,那麼就可以在字元陣列2的位置上得到dime。
**:
#define _crt_secure_no_warnings 1
#include#include//搜尋函式
int search(int a, int key, int size)
} return ret;
}int main()
; char*p = ;
int sz = sizeof(amount) / sizeof(amount[0]);
int loc = search(amount, 0, sz);
if (loc != -1)
else
system("pause");
return 0;
}
但是這樣有乙個不好處:它是割裂的兩個陣列。更好的做法是:將數字面額與對應的英文放的比較近;這樣的話,一旦找到面額,直接再附近就可以找到英文,不需要到另外的地方去找。改進思路:不需要有兩個陣列,而是設計乙個結構,結構內容包含「int 型別的數字面額」和「字元指標」,用這樣的結構構造乙個結構體陣列,然後進行初始化。
#define _crt_secure_no_warnings 1
#include#includestruct
coins = ,
, , ,
};int main()
}system("pause");
return 0;
}
文字的乙個小例子
自然語言文字預處理 導入庫 import pandas as pd import jieba 結巴分詞 from sklearn.feature extraction.text import tfidfvectorizer 基於tf idf的詞頻轉向量庫 分詞函式 def jieba cut str...
ViewPager的乙個小例子
早就聽說有這個viewpager控制項,專案要中使用的也多,viewpager也是更新到了viewpager2。但是我一直沒有使用過,現在記錄一下簡單的使用方法。它的使用和recycleview listview的使用大同小異。也需要介面卡和監聽事件。相信用過這些控制項的同學一定不陌生。上 acti...
while迴圈的乙個小例子
我國最高山峰是珠穆朗瑪峰 8848m,我現在有一張足夠大的紙張,厚度為 0.01m。請問,我摺疊多少次,就可以保證厚度不低於珠穆朗瑪峰的高度?分析 1 統計思想 定義統計變數 2 最高山峰是珠穆朗瑪峰 8848m 最終厚度 有一張足夠大的紙張,厚度為 0.01m 初始厚度 3 厚度不低於珠穆朗瑪峰的...