Tag: 搜索

搜索C中的最大整数(超过2)

如何在一组整数中搜索最大数字(cat1,cat2,cat3,cat4)我对此进行编码,考虑每个替代方案,除了==替代方案(更长的代码!!)是否更有效,或更简单这样做的方法,而不是为每个可能的解决方案制作IF声明? 如果数字的数量更大? (例如10 !!!!)谢谢。 这是我的代码 if (cat1 > cat2 && cat1> cat3 && cat1>cat4) printf(“cat 1 is the biggest”, cat1); if (cat2 > cat1 && cat2> cat3 && cat2>cat4) printf(“cat 2 is the biggest”, cat2) ; if (cat3 > cat1 && cat3> cat2 && cat3>cat4) printf(“cat 3 is the biggest”, cat3) ; if (cat4 > […]

搜索文件并返回值 – 超快速

我有一组数据,它们有一个名称,一些子值,然后是一个关联数值。 例如: James Value1 Value2 “1.232323/1.232334” Jim Value1 Value2 “1.245454/1.232999” Dave Value1 Value2 “1.267623/1.277777” 将存储在文件或数据库中的大约100,000个条目。 我想知道,能够返回与搜索匹配的结果及其相关数值的最快方法是什么。 例如,查询“J”将返回James和Jim结果,这些结果是最后一列中的数值。 我听说有人提到二叉树搜索,字典搜索,索引搜索。 我不知道哪条路是好的方法。

C MPIarrays搜索(MPI_Scatter分段故障)

我的MPI代码一直在运行所有非主任务的分段错误。 #include “mpi.h” #include #include int main(int argc, char* argv[]) { int list_size = 1000 int threads; int th_nums; int slice; int index; char* the_array[list_size]; char* temp_array[list_size]; char str_to_search[10]; FILE *in = fopen(“inputfile”, “r”); char parse[10]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &threads); MPI_Comm_size(MPI_COMM_WORLD, &th_nums); if (threads == 0) { // if master task fgets(parse, 10, in); slice […]

c编写用于字符串的搜索文件

因此,我必须编写一个从文件中读取并扫描它的函数,以查看其中的任何标题是否与用户放入的标题匹配,并以标题格式打印所有现有标题:(标题)作者:(姓氏,名字)。 如果没有标题匹配则打印出没有找到的标题。 我可以让程序将标题读入数组并以我想要的格式打印,但我的问题是搜索文件以找到匹配的标题来打印它们。程序只是打印出来没有标题匹配5次甚至当有比赛时…非常感谢任何帮助……谢谢…… void findBookByTitle(FILE* fp, char title[]) { FILE* open = fp; char title2[200]; char last[200]; char first[200]; int i=0; while(!feof(fp)) { fscanf(fp, “%[^;];%[^;];%[^\n]”, title2, last, first); if( strcmp(title2,title)==0) { printf(“Title: %s\n”, title2); printf(“Author: %s,%s\n”, last,first); } else { printf(“No books match the title: %s\n”, title); } } } 文本文件说: Making The Right Choices; […]

二进制搜索C.

这是二进制搜索function的签名: void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 我不明白为什么我们发送一个void *作为数组指针,而不是void **,因为据我所知,如果我在int数组中寻找一个int,我应该发送一个int *作为数组,而不是int …如果函数的签名是这样的,实现是否会有很大的不同(或者可能无法实现): void *bsearch(const void *key, const void** base , size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 提前致谢。

如何从字符串中获取单词并将它们放在字符串数组中? 在C.

我基本上在一个字符串中有一个句子,并希望将每个单词的单词分解。 每个单词都应该进入一个字符串数组。 我不被允许使用strtok 。 我有这个代码,但它不起作用。 有人可以帮忙吗? 在互联网上肯定有类似的东西,但我找不到任何东西…… int main(){ char s[10000]; // sentence char array[100][100]; // array where I put every word printf(“Insert sentence: “); // receive the sentence gets(s); int i = 0; int j = 0; for(j = 0; s[j] != ‘\0’; j++){ // loop until I reach the end for(i = 0; […]

用于搜索arrays中的3D坐标的高效算法

我有一个大的数组(> 10 ^ 5个条目)的3D坐标r =(x,y,z),其中x,y和z是浮点数。 这是搜索数组中给定坐标r’并给出数组索引的最有效方法。 注意,r’可能没有给出与r相同的精度; 比方说,如果数组存储坐标(1.5,0.5,0.0)并且r’给出为(1.49999,0.49999,0.0),则算法应该正确地选择坐标。 我正在用C开发代码。 为此目的,如何使用哈希表的O(1)搜索function? 由于与准确性相关的问题,将坐标转换为字符串是不可能的。 是否有任何特定的数据结构有助于O(1)算法? 谢谢 OnRoadCoder

在C中搜索.csv文件以进行名称匹配

我目前有一个包含三个字段的.csv文件:user,password,type。 例如,我的文件看起来像这样: michael, sun123, user joseph, sierra7, user isaac, apple2, sysop 我想从这样的文件中读取并检查列表中是否存在用户“isaac”。 到目前为止,我能够打开文件并将我文件的每个字符放入名为database []的一维数组中。 我已经设置了一个指向我的database []数组的第一个字符的指针。 我的问题是:如何在文件中找到“isaac”? 我的想法是检查我要查找的用户的第一个字符是否与我的数组中的字符匹配。 如果是这样,只要我没有逗号,我就会开始检查下一个字符。 当我点击逗号时,然后检查是否在使用布尔值返回回车之前退出密码,逗号和类型。 有更简单的方法吗? 提前致谢!

在大文件中搜索的最佳方法是什么?

我希望将KMP(或类似)搜索应用于大文件(> 4GB)。 我希望这会给我带来麻烦。我无法将它全部复制到内存中,因为那里没有足够的空间。 我的问题是,进行此搜索的最佳方法是什么? 我应该简单地创建一个FILE *并直接在文件中进行搜索,我应该将块(比如说4k)复制到内存中并搜索那些或者其他东西吗?

斐波那契搜索

有人请解释我的斐波那契搜索算法。 我已经尝试了很多资源并搜索了很多,但算法仍然不清楚。 大多数资源都将其描述为与二进制搜索相关联,但我不理解它们。 我知道斐波纳契搜索算法是二进制搜索的扩展,我很清楚。 我的书也没能解释。 我知道定义为F(n)= F(n-1)+ F(n-2)的斐波纳契数,所以不需要解释。 通过添加我不理解的内容来更新问题@AnthonyLabarre说: 我正在使用的书有奇怪的符号,没有任何解释。 在这里发布算法,请帮忙。 if(key == a[mid]) return mid; // understood this, comes from binary search if(key > a[mid]) { if(p == 1) return -1; // What is p? It comes as a function arg mid = mid + q; //Now what’s this q? Again comes a function […]