在创建链表时,应该预先定义数据类型。下面是一个用于创建新链表的伪代码:
Type ListNode
Declare Pointer as integer
Declare data as string
EndType
Declare Namelist[1-50] of Listnode
For Index=1 to 49
Namelist[Index].pointer=Index + 1
Endfor
Namelist[50].pointer=0
让我困惑的是newly defined data types和可以存储多个数据元素的多维数组之间的相似性。
newly de
我想为链表函数创建静态或动态库,但是当我尝试用gcc编译函数文件以获得对象文件时,它会给出错误的‘struct node’ declared inside parameter list int GetNth(struct node* head, int index) & dereferencing pointer to incomplete type ‘struct node’ if(i == index) return head->data;。不确定发生了什么,可能是因为我还没有在文件中声明structure
#include <stdlib.h>
int cou
我有一个指向链表中第一个结构的指针,但是我怎么能只打印出链表的第五个结构呢?
链表由100个结构组成,所有结构都按顺序排序,但是我如何才能打印出链表的第4和第7个结构?
struct human {
char name[STR];
char manuf[STR];
int age;
float weight;
struct human *next;
}
struct human *current; //Points to current structure.
struct human *first = NULL;
......
for (cu
我已经给出了使用任何编程语言制作语法分析器的项目。我正在用C#做这件事。已经创建了简单的上下文无关文法。但是现在我对语法分析器的算法制作感到非常困惑。
语法是这样的:
Namespace var . { class }
Class var . { method } . class | null
Method function | null
Function return_type.var.(function_arguements).{.stmt_list.} . Method
我正在尝试用一个C程序实现一个插件系统。插件将被编译为共享库,并在编译期间链接。
假设我有一个单链表结构定义:
struct plugin_iface
{
int data,
struct plugin_iface* next
};
每个插件创建此结构的全局实例,所有这些实例都具有相同的名称:
struct plugin_iface IfaceList =
{
.data = 42,
.next = &IfaceList
} // Defined in the global scope in each plugin
正如我所料,next指向了它的父级-
我想创建一个class iterator,它可以传递各种类型的A(我的意思是:链表和数组索引)。
我该怎么做呢?
我应该在A、B和C类中定义什么?
class Iterator {
A* a;
public:
A* getnext() {}
A* getcontant() {}
};
class A {
public:
iterator* iterator() {}
};
class B : public A {
linkedlist* head; // a linked list of nodes
};
class C : publi