学习室用到的代码有注释不难
头文件
#ifndef _LIST_H_
#define _LIST_H_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
typedef struct _list
{
int m_data;
struct _list * next;
struct _list * prev;
}list,*node;
void listCreate(list * t_list);
void listHeadInsert(list * t_list,int t_data);
void listDisplay(list * t_list);
#endif
源文件
#include "list.h"
void listCreate(list * t_list)
{
t_list->m_data = -1;
t_list->next = NULL;
t_list->prev = NULL;
}
void listHeadInsert(list * t_list,int t_data)
{
//创建一个节点,并申请内存
node t_node = (node)malloc(sizeof(list));
//节点内容赋值
t_node->m_data = t_data;
t_node->next = NULL;
t_node->prev = NULL;
//添加节点
t_node->next = t_list->next;
t_node->prev = t_list;
if(t_list->next != NULL)
{
t_list->next->prev = t_node;
}
t_list->next = t_node;
}
void listDisplay(list * t_list)
{
node t_temp;
for(t_temp = t_list->next;t_temp != NULL; t_temp = t_temp->next)
{
printf("%d ",t_temp->m_data);
}
printf("\n");
}
主函数
#include "list.h"
int main(void)
{
list * t_list = (list *)malloc(sizeof(list));
int i;
for(i = 0;i <= 5;i++)
{
listHeadInsert(t_list,i);
}
listDisplay(t_list);
free(t_list);
t_list = NULL;
return 0;
}