相关疑难解决方法(0)

C的容器类/库

有谁知道任何C容器库?我正在寻找能够提供链接列表,数组,哈希表等标准实现的东西,就像C++ STL一样.主要关注点是:

  1. 客户端代码应该能够为多种不同的数据类型创建容器而无需修改库.
  2. 用于创建和使用容器的界面应该是直观的.

c containers

75
推荐指数
5
解决办法
4万
查看次数

指向C中的字符串数组的指针

玩指针C很有趣(不是真的).

我有几个字符串数组我想以简单的方式声明,最好是:

arrayOfStrings1 = {"word1", "word2", etc. };
arrayOfStrings2 = {"anotherword1", "anotherword2", etc. };
arrayOfStrings3 = etc.
etc.
Run Code Online (Sandbox Code Playgroud)

类似于翻译数组的东西(但不完全),所以我希望能够在运行时间间隔这些.为此,我想要一个pointerToArrayOfStrings我可以交换的指针:

pointerToArrayOfStrings = arrayOfStrings1;
doStuff();
pointerToArrayOfStrings = arrayOfStrings2;
doSomeOtherStuff();
Run Code Online (Sandbox Code Playgroud)

在我对字符串数组和指向这些字符串的指针的天真理解中,这就是我所尝试的:

// Danish transforms
const unsigned char* da_DK[] = {"b","bb","c","c","cc","d","dd","e","f","ff","g","gg","h","hh","j","j","jj","k","k","kk","l","l","l","l","ll","m","mm","n","n","nn","p","pp","r","r","r","rr","s","s","s","ss","t","t","tt","v","v","vv","æ"};

// British english transforms
const unsigned char* en_GB[] = {"a","a","a","a","a","a","a","a","a","a","a","a","a","age","ai","aj","ay","b","cial","cian","cian","dj","dsj","ea","ee","ege","ei","ei","eigh","eigh","f","f","f","g","g","gs","i","i","i","j","j","k","ks","kw","l","m","n","n","o","r","s","s","sd","sdr","sion","sion","sj","sj","tial","tion","tion","tj","u","u","u","u","w","ye","ye","z"};

    // More languages....

const unsigned char** laguageStrings;

// Assign language
if (streq(language, "da-DK")){
    laguageStrings= da_DK;
}
else if (streq(language, "en-GB")){
    laguageStrings= en_GB;
}
else
         return 0;
}
Run Code Online (Sandbox Code Playgroud)

语言是char …

c arrays string pointers

11
推荐指数
1
解决办法
4万
查看次数

在 C++ 中实现 Hashmap :: 模板化数据类型的哈希函数

我最近一直在使用 STL 的 unordered_map ,虽然它似乎工作得很好,但我不太明白散列函数是如何工作的,因为数据类型是作为模板参数给出的。为了更彻底地理解这个数据结构,我用 C++ 实现了我自己的小 Hashmap 类:

哈希表接口:

#ifndef _HASHMAP_H_
#define _HASHMAP_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <vector.h>


//Beginning of Hashmap class definition

template <class Key, class Value>
class Hashmap{
private:

int mappedElementCount;



public:
explicit Hashmap();
virtual ~Hashmap();


virtual void test();

virtual int hash(Key*);

int* getSize();

void putKVPair(Key*,Value*);

void clearMap();


//When we use these methods, we'll want a linear vector of keys and values to 
    //iterate over, so vector is good here
std::vector<Key>* getKeys(); …
Run Code Online (Sandbox Code Playgroud)

c++ hash templates unordered-map hashmap

5
推荐指数
1
解决办法
6422
查看次数

C 中的动态哈希集

我需要某种 C 语言的 HashSet,它的大小可以动态增长。我当然可以自己编写所有内容,但也许有一个很好的库?我的密钥是 32 位哈希值,我需要将指针 ( struct dirent *) 保存为值。

c hash set

5
推荐指数
1
解决办法
2万
查看次数

从单个char到指针的映射的Plain C实现

我有高级语言的编程经验,并且几周前开始使用普通C编码(出于学术原因).我想实现类似于的数据结构map<char,myStruct*>.

如果这还不够清楚:我希望将每个可能的SINGLE"映射" char到指向我在其他地方定义的结构的指针上.如果有一种方法可以确保没有2 char秒可以指向相同的struct(char在将新元素插入地图时不检查其他内容)那将是整洁的,但这不是绝对必要的.我还需要能够从地图中删除配对,并重新插入具有相同键但不同指针的配对.

我已经想到了这一点,并认为我可以创建一个指针数组所有可能的字符长度,并只使用char作为数组索引存储相应的指针(因为它只是一个数字常量).这可能非常有用,但如果我最终在我的应用程序中只使用几个字符,那么为地址分配那么多空间似乎效率低下.

尽管如此,我还是没有想到任何替代解决方案(考虑到我是C新手,不是那么令人惊讶).我会很感激任何,甚至模糊的建议,朝着正确的方向前进.

c implementation map

4
推荐指数
1
解决办法
2312
查看次数

c的股票信息数据结构?

我是C的新手(不到一周),我正试图找出一种更有效的检索数据的方法.基本上想象我有几个股票数据:股票代码,价格,变化.

到目前为止,我的方法是将所有数据放在3个数组中.如果我想要IBM的价格,我搜索自动收报机数组并获取索引位置,然后从价格数组中获取该位置.它工作正常,但因为我做了很多查找,我的数据没有改变所以我想知道是否有更有效的方法来做到这一点?

我试图寻找一个字典/散列图来存储IBM作为键和价格/变化值作为值,但我似乎无法弄清楚如何在C中做到这一点.如果它可能有一个简单的方法去做这个?我正在研究一个不同的程序,并且真的不想学习如何从头开始创建自己的程序(尽管我必须这样做,我会对它进行处理).

c data-structures

0
推荐指数
1
解决办法
878
查看次数

编写程序以在C中创建变量

我正在用C编写一个程序来读取FASTA文件和每个名字的文本(例如> COTV-SPAn232-096)我希望我的程序识别'>'然后在\n之前使用以下文本用作变量的名称.

对变量进行硬编码的问题是该程序需要尽可能动态,因为它可能在任意数量的不同数据集中读取.例如,我的测试集有15个不同的序列,如下所示:

COTV-SPAn232-096 MKILNSYNDFIISFINFILISTIQNVSISKLNILGYILSFIRIISISMDFDILKFSNIIQDYGLIFPDDIKKIQNEKFLVLERGLSGKLYAIHIYDFMARFDNETIFGIAKFLYRNNTKILDVLFINKDLFDKTDILYPKSTITLSSYSDEYIDYTYKTIKLIFLNLFNSFRFSKIDSKLSYLYLPLRKDINNVIL

计划以序列名称读取,将该名称设置为动态数组的变量,并使用malloc/realloc处理存储实际序列以便稍后比较所有不同序列.我可以处理除变量变量名之外的所有内容.

简单地四处寻找答案,看起来好像不能在C中完成,虽然可以在python和其他一些语言中.我真的希望这不是真实的情况,但是如果有人有其他建议来处理这个问题吗?是的,这是生物信息学,我可能应该使用python,perl,java或其他语言,但我宁愿在C中继续这个问题,以进一步精通C语言.

提前感谢我收到的任何答案!

c variables bioinformatics

0
推荐指数
1
解决办法
92
查看次数