单链表、双链表、队列、栈C实现
来源:互联网 发布:随便软件 编辑:程序博客网 时间:2024/05/24 03:07
单链表 建立/ 测长/ 打印/ 删除节点/ 排序/逆置
#include <stdio.h>#include <string.h>#include <conio.h>typedef struct student{ int data; struct student *next;}//单链表建立node *creat(){ node *head,*p,*s; int x,cycle = 1; head = (node *)malloc(sizeof(node)); p = head; while(cycle) { printf("\nplease input the data:"); scanf("%d",&x); if(x!=0) { s = (node *)malloc(sizeof(node));s->data = x;printf("\n%d",s->data);p->next = s;p = s; } else cycle = 0; } head = head->next; p->next = NULL; printf("\n yyy %d",head->data); return (head);}//单链表测长int length(node *head){ int n = 0; node *p; p = head; while(p!=NULL) { p = p->next; n++; } return n;}//单链表打印void print(node *head){ node *p;int n; n = length(head); printf("\nnow,these %d records are :\n",n); p = head; if(head != NULL) while(p!=NULL) { printf("\n uuu %d",p->data); p = p->next; }}//删除结点node *del(node *head,int num){ node *p1,*p2; p1 = head; while(num!=p1->data&&p1->next!=NULL) { p2 = p1;p1 = p1->next; } if(num == p1->data) { if(p1 == head){ head = p1->next; free(p1); }elsep2->next = p1->next; } else printf("\n %d could not been found",num); return head;}//单链表插入node *insert(node *head,int num){ node *p0,*p1,*p2; p1 = head; p0 = (node *)malloc(sizeof(node)); p0->data = num; while(p0->data>p1->data && p1->next != NULL) { p2 = p1;p1 = p1->next; } if(p0->data <= p1->data) { if(head == p1){ p0->next - p1; head = p0;}else { p2->next = p0; p0->next = p1;} } else { p1->next = p0;p0->next = NULL; } return (head);}//单链表逆置node *reverse(node *head){ node *p1,*p2,*p3; if(head == NULL || head->next == NULL) return head; p1 = head, p2 = p1->head; while(p2) { p3 = p2->next;p2->next = p1;p1 = p2;p2 = p3; } head->next = NULL; head = p1; return head;}
- 单链表、双链表、队列、栈C实现
- C实现栈和队列
- 两个栈实现一个队列(C/C++)
- 利用栈实现队列(C语言实现)
- C语言实现,顺序队列,循环队列,和栈!
- 【C++】模板实现双链表和队列
- 单链表实现队列 栈
- 栈和队列 C语言实现
- C++:利用两个栈实现队列操作
- 链表、栈、队列的C语言实现
- 【C++】两个队列实现一个栈
- 【C++】两个栈实现一个队列
- (C++)栈和队列的模拟实现
- C 宏实现队列
- 队列C实现
- Objective-C 队列实现
- C实现链式队列
- 循环队列实现(C++)
- android日期时间控件
- sqlserver2008sa密码忘记并且windows没有sytemadmain权限怎样修改sa密码?
- js代码注释规范
- Unigui中用Grid++report生成pdf实现打印报表
- Flash as2.0与3.0功能性能详细对比
- 单链表、双链表、队列、栈C实现
- 总结ThinkPHP使用技巧经验分享(一)
- 通过System.getProperties()以及相关系统参数,查看系统信息
- C++ 下标操作错误
- 中科院外籍院士姚期智:科学家与科学之路
- QT串口通信中数据控制
- 旧闻 , PHP已经拿起了切刀!
- Leveldb源码分析--8
- 如果编程语言是女人