说我们有
typedef struct {
int value1;
int value2;
} values_t;
Run Code Online (Sandbox Code Playgroud)
和
values_t* values;
Run Code Online (Sandbox Code Playgroud)
填充了值[i] .value1和values [i] .value2对,它们可能是唯一的,也可能不是唯一的.
我们想填补
values_t* values_unique;
Run Code Online (Sandbox Code Playgroud)
只有值中的唯一对,按照它们首次出现在值中的顺序.
在C中执行此操作的理想方法是什么?
编辑:假设他们是正确的malloced指针; 上面只是伪代码.
你可能使用值的散列,保持哈希和相应值的列表,只添加一对新的values_unique数组(这个问题不本来不声明为一个数组),如果它不是通过哈希发现.如果列表很大,则从散列加速而不是按顺序搜索整个列表的速度非常快.
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |