📄 vlist.c
字号:
#include <stddef.h>
#include "assert.h"
#include "mem.h"
#include "vlist.h"
#define T VList_T
T VList_push(T list, int n, int v, int d, int p, int k)
{
T pos;
NEW(pos);
pos->number = n;
pos->value = v;
pos->dist = d;
pos->path = p;
pos->known = k;
pos->rest = list;
return pos;
}
T VList_pushinit(T list, int n, int v)
{
return VList_push(list, n, v, -1, -1, 0);
}
T VList_pop(T list)
{
if(list)
{
T p = list->rest;
FREE(list);
return p;
}
else
return list;
}
/*
#include <stdio.h>
void VList_print(T list)
{
if(list == NULL)
return ;
while(list)
{
printf("list->number = %d \t list->value = %d\n",
list->number, list->value);
printf("list->dist = %d \t list->path = %d \t list->known = %d"
"\n\n\n",
list->dist, list->path, list->known);
list = list->rest;
}
}
///*
//test the function
#include <stdio.h>
int main(void)
{
int i;
i=1;
printf("====== T List_push(int n, ...)======\n");
printf( "the (%d) th to test: \n", i++ );
{
T list;
list = VList_pushinit(NULL, 1, 2);
list = VList_pushinit(list, 2, 3);
list = VList_pushinit(list, 3, 4);
list = VList_pushinit(list, 4, 5);
list = VList_pushinit(list, 5, 6);
list = VList_pushinit(list, 6, 7);
VList_print(list);
}
printf("\n");
printf("\n\n\n\n");
i=1;
printf("====== T List_pop(int n, ...)======\n");
printf( "the (%d) th to test: \n", i++ );
{
T list;
list = VList_pushinit(NULL, 1, 2);
list = VList_pushinit(list, 2, 3);
list = VList_pushinit(list, 3, 4);
list = VList_pushinit(list, 4, 5);
list = VList_pushinit(list, 5, 6);
list = VList_pushinit(list, 6, 7);
VList_print(list);
printf("\n--------------------------\n\n\n");
list = VList_pop(list);
VList_print(list);
}
printf("\n");
printf("\n\n\n\n");
return 0;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -