1. 程式人生 > >斯坦福公開課筆記,day10.30.18

斯坦福公開課筆記,day10.30.18

1 一個線性查詢函式的泛型實現 example1: int lsearch (int key, int array[], int size) { for (int i =0; i< size; i++) { if (array[i] == key) { return i; } } return -1; } 相應的泛型實現: void* lsearch ( void* key, void* base, int n, int elemSize) { for (int i=0; i<n; i++) { void* elemAddr = (char*) base + i*elemSize ;//實現原來陣列中的地址偏移,(char *) 可以保證編譯不出錯 if (memcmp(key, elemAddr, elemSize) ==0) //使用記憶體比較函式 return elemAddr; } return NULL; }