Tag: 数据结构

带有抽象数据类型的C双链表

我需要C中的双链表,但它必须适用于不同的类型。 在C ++中,我们使用模板。 我在哪里可以找到C中的示例,用于带有抽象类型项的双链表。 谢谢

是否可以拥有不同数据类型的链表?

这只是另一个面试问题。 我们可以有一个不同数据类型的链表,即链表中的每个元素可以有不同的结构或联合元素吗? 如果有可能请你举个例子解释一下吗?

C指向结构的双指针

我试图找出一个指向C结构的双指针,无法弄清楚出了什么问题……简单的来源如下: typedef struct { int member; } mystruct; void myfunc(mystruct **data) { (*data)->member = 1; } void main(int argc, char *argv[]) { mystruct **data; myfunc(data); printf(“member = %d\n”, (*data)->member); } 这里有一个类似的问题: 如何使用指向C中结构指针的指针? 关于如何通过双指针修改结构的成员。 解决方案是语法(*data)->member = 1; 这是有道理的。 但是在我的小应用程序中,我在执行该行时收到了seg错误。 我究竟做错了什么? 谢谢

如何仅使用堆栈操作对堆栈进行排序?

我在网上发现了这个问题。 给定堆栈S,编写C程序以对堆栈进行排序(按升序排列)。 我们不允许对堆栈的实现方式做任何假设。 唯一要使用的function是: Push Pop Top IsEmpty IsFull 我想我们可以构建堆并对其进行排序。 什么是最佳解决方案?

从输入数字中删除k个数字后如何获得最少的数字

例如,如果输入的数字是24635 ,则在删除任何3位数后,最小数字是23 。 它与取两个最小的数字不同,因为必须保持数字的顺序。

当堆栈为空时,’pop()’方法应该返回什么?

可能重复: C ++ STL堆栈问题:为什么如果堆栈为空,pop()不会抛出exception? 在C ++中设计堆栈时,当堆栈为空时, pop()方法(或front()方法)应该返回什么? 以下哪种设计更好? 抛出exception 未定义,但要求用户在调用pop()之前调用isempty()方法进行检查 返回bool代码,同时使用额外参数(引用)传递弹出元素 定义一个唯一的空元素 好的,我看到我的问题不是那么清楚,让我试着改写它: 有一些数据结构可以基于链表,如堆栈,队列来实现,并且每个数据结构都有一个返回前端元素(或尾部)的方法。 我想知道,关于数据为空时的情况设计这样的方法是否有任何原则指导。 而我对更好的定义是“易于正确使用且难以正确使用”。

扭转链表

我试图使用递归来反转链表并为其编写以下代码。 该列表是开头的列表的开头。 node *reverse_list_recursive(node *list) { node *parent = list; node *current = list->next; if(current == NULL) return parent; else { current = reverse_list_recursive(current); current->next = parent; printf(“\n %d %d \n”,current->value,parent->value); return parent; } } 我可以看到所有链接都被颠倒了。 然而,当我尝试显示时,我得到了数字的无限打印。 当我试图反转列表中最初的第一个数字的链接时,我怀疑是错误的。 我究竟做错了什么?

C / C +程序的最大堆栈大小?

我试过以下程序。 创建此程序的目的是发现有关堆栈大小的更多信息。 int main() { int nStack[100000000]; return 0; } 执行上面的代码后,程序因堆栈大小分配而崩溃。 堆栈的最大可能大小是多少? 它是否适用于每个程序/计算机? 可以增加吗? 我想知道为了知识。 如果任何人都可以在C / C ++中提供示例,那将非常有用。

在C ++或C中寻找基于磁盘的B +树实现

我正在寻找一个轻量级的开源分页B +树实现,它使用磁盘文件来存储树。 到目前为止,我发现只有基于内存的实现 ,或者依赖于QT(?!)并且甚至不编译的东西。 现代C ++是首选,但C也会这样做。 我更喜欢避免完全嵌入式DBMS解决方案,因为:1)对于我的需求裸骨索引,可以使用最简单的磁盘文件组织就足够了,不需要并发性,primefaces性和其他一切。 2)我使用它来构建我自己的索引,并且很可能会改变一些算法和存储布局。 我想以最少的努力做到这一点。 它不会是生产代码。

C中的通用数据类型的任何库?

我想用C编写一个2D游戏引擎(没有c ++)。 有哪些好的库有我可能需要的通用数据类型 – 例如队列,树,地图,列表等等?