リストの要素の検索機能を実装し、見つかった要素のインデックスをバイナリ検索で返します。私の好奇心は、リスト内の要素のすべての出現を出力できる二分探索の方法を持つことです。
以下はコードです
int Binary_Search(int *array, int chave , int N) {
int inf = 0;
int sup = N-1;
int meio;
while (inf <= sup) {
meio = inf + (sup-inf)/2;
if (chave == array[meio])
return meio;
else if (chave < array[meio])
sup = meio-1;
else
inf = meio+1;
}
return -1;
}
他のソースの一部
このコード スニペットで重複した箇所のみを印刷するにはどうすればよいですか?
else {
Imprime_Struct(Tabinvertida_Fornecedor[aux]->info);
aux=aux+1;
while (aux != i) {
if (strcmp(chave, TabName[aux]->info.name)==0)
Print_Struct(TabName[aux]->info);
aux++;
}
}