单向链表插入实现
来源:互联网 发布:javascript菜鸟教程 编辑:程序博客网 时间:2024/05/22 01:36
#include <stdlib.h>#include <stdio.h>struct list {int data;struct list *next;};struct list *list_search(struct list *first, int d){struct list *p = first;while(p){if (p->data == d){break;}p = p->next;}return p;}int list_insert(struct list **first, int d){struct list *i = NULL, *l = NULL;if (list_search(*first, d)){return 1;}i = (struct list*)malloc(sizeof(struct list*));if (i == NULL){return 0;}i->data = d;i->next = NULL;if (*first == NULL){*first = i;}else{l = *first ;while(l->next){l = l->next;}l->next = i;}return 1;}void list_print(struct list *first){struct list *p = first;printf("list:\n");while (p){printf("%d ", p->data);p = p->next;}printf("\n");}void list_reverse(struct list **first){struct list *last = NULL;struct list *curr = *first;struct list *t = NULL;while (curr){t = curr->next;curr->next = last;last = curr;curr = t;}*first = last;}int main(){int array[8] = {9, 0, 0, 12, 1, 1, 81, 66};int i;struct list *l = NULL;for (i=0; i<8; i++){if (list_insert(&l, array[i]) != 1){printf("list insert error.\n");}}list_print(l);list_reverse(&l);list_print(l);}
0 0
- 单向链表插入实现
- 单向链表插入
- 数据结构Java实现 --单向链表的插入和删除
- 单向链表实现任意位置插入元素
- 单向链表实现
- 单向链表实现
- 单向链表的插入删除代码
- 单向链表的创建 删除 插入
- 单向链表插入排序 Java
- 单向链表插入与删除
- 单向链表的插入排序
- 基本中间插入式单向链表
- 单向链表插入新节点
- C语言实现链表之单向链表(五)头结点前插入结点
- C语言实现链表之单向链表(七)尾结点后插入结点
- C语言实现链表之单向链表(九)在任意位置插入结点
- C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
- 用c++实现单向链表的创建,插入和删除
- C++中把函数作为参数并执行
- jQuery 插件之dragable
- Android SDK更新问题
- java 笔记
- css和javascript在IE和Firefox中二十三个不同点
- 单向链表插入实现
- JAVA求解完美数
- 初体验友元函数
- javascript Function()
- 东软学习,关于div的几个知识点
- 关于文本空格换行处理
- 程序员们的时间管理法则
- OpenCV学习笔记——harris角点检测
- 循环链表解决约瑟夫环问题