⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 single_list.c

📁 This is a binary search tree with void* pointer in data segment in order you to search store and del
💻 C
字号:
#include "single_list.h"#include <stdio.h>#include <stdlib.h>Node_sl *CreateNew(void) {	Node_sl* head;	head = malloc(sizeof(Node_sl));	head->id = -1;	head->type = NOTYPE;	head->next = NULL;	head->size = 0;	return head;}int Insert_hs (int id,int type,int newsize ,Node_sl* head) {	Node_sl *tmp , *newNode;	tmp = Find_sl(id,head);	if(tmp->id == id) /*no dublicates*/		return 0;	newNode = malloc(sizeof(Node_sl));	newNode->next = tmp->next;	tmp->next = newNode;	newNode->id = id;	newNode->type = type;	newNode->size = newsize;	return 1;}int Insert_sl (int id,int type ,Node_sl* head){	Node_sl *tmp , *newNode;	tmp = Find_sl(id,head);	if(tmp->id == id) /*no dublicates*/		return 0;	newNode = malloc(sizeof(Node_sl));	newNode->next = tmp->next;	tmp->next = newNode;	newNode->id = id;	newNode->type = type;	newNode->size = 0;	return 1;}int Delete_sl(int id , Node_sl* head) {	Node_sl *tmp , *prev;	tmp = head;	prev = head;	while(tmp) {		if(tmp->id == id){			prev->next = tmp->next; /*found..delete it*/			free(tmp);			return 1;		}		prev = tmp;		tmp = (Node_sl*)tmp->next;	}	return 0;} Node_sl *Find_sl(int id , Node_sl* head) {	Node_sl* tmp = head;	Node_sl* prev = head;	if(!head->next)		return head;	while(tmp) {		if(tmp->id == id)			return tmp;		tmp = tmp->next;		if(!tmp)			return prev;		if(tmp->id > id) {			return prev;		}		prev = tmp;	}	return prev;}void print_sl(Node_sl* head) {	Node_sl* tmp = head;		while(tmp) {	if(tmp->id == -1){		tmp = tmp->next;		continue;	}		printf("|File id %d with type %d | ",tmp->id,tmp->type);		tmp = tmp->next;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -