Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c中链表中的原子和一致性(ACID)插入_C_Algorithm_Linked List_Acid - Fatal编程技术网

c中链表中的原子和一致性(ACID)插入

c中链表中的原子和一致性(ACID)插入,c,algorithm,linked-list,acid,C,Algorithm,Linked List,Acid,我想要的是在原子模式下,在链表中插入三个节点。 模拟在链表中插入第二个节点(如果操作不顺利) 我执行链表的恢复功能,意思是从以前插入的新节点中清除链表 我想在节点的链接列表中添加一个名为“atom”的字段,该字段表示第二个节点与其他节点一起插入。 我正在尝试实现一个dbms系统,我想使用链表,利用指针来保存列中的数据。 链表中的插入必须与dbms系统的属性有关 我需要一些帮助怎么做 #include <stdio.h> #include <stdlib.h> #inclu

我想要的是在原子模式下,在链表中插入三个节点。 模拟在链表中插入第二个节点(如果操作不顺利) 我执行链表的恢复功能,意思是从以前插入的新节点中清除链表

我想在节点的链接列表中添加一个名为“atom”的字段,该字段表示第二个节点与其他节点一起插入。 我正在尝试实现一个dbms系统,我想使用链表,利用指针来保存列中的数据。 链表中的插入必须与dbms系统的属性有关

我需要一些帮助怎么做

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

struct rowlist{
    int *atomic;
    int *transaction;

    int choice; // 0 int, 1 varchar, 2 bit, choice type of data
    int i;      //type int
    char *v;    //type varchar
    bool b;
    struct rowlist *next;
};

struct columnlist{
    int *k;  //key
    char *n; //name 
    struct rowlist *r; //list of row
    struct columnlist *next;
};


typedef struct rowlist rowlist;
typedef struct columnlist columnlist;
#包括
#包括
#包括
结构行列表{
int*原子;
int*交易;
int-choice;//0 int,1 varchar,2位,数据的选择类型
int i;//类型int
char*v;//输入varchar
布尔b;
结构行列表*下一步;
};
结构列列表{
int*k;//密钥
char*n;//名称
struct rowlist*r;//行列表
结构列列表*下一步;
};
typedef结构行列表行列表;
typedef结构columnlist columnlist;

为什么不使用数据库?i、 Kyoto Cabinet或Sqlite我知道数据库是建立在Btree结构之上的——二进制搜索树针对文件系统上的读写文件进行了优化。我在unimi大学学习过:链表,bst,btree,graph。在链表中添加“atom”和“trsn代表事务”字段,这样我就可以知道节点2不是单独插入的,而是一起插入的节点1和节点3。这是正确的设计吗?如果某个操作失败,我将搜索TRSN47和atom 1,并尝试删除节点3和1。若恢复功能也失败,那个么程序将带着一些错误退出并重试。为什么它必须是原子的?您的程序是多线程的吗?我创建了一个“表”,其中linkedlist构建在行列表和列列表上。列有许多单元格。如果我插入字段,我将循环列,并在适当的行/单元格中插入每个值。我想要这个操作“一致性抱歉”,因为它类似于“插入到person(id,fullname)值中(10,“nicolapaganotti”);”。如果“Nicola Paganotti”失败,我还希望删除“10”个单元格/行。不,目前它不是多线程的,只是用于以一致性方式创建表和插入行。您可以向我展示一个开发“开始-结束事务提交roolback”设计