链表基础程序
来源:互联网 发布:js树状图 饼图插件 编辑:程序博客网 时间:2024/04/28 14:01
链表程序:
(1)链表的建立与删除实例:
// 03_23_seqsearch.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#define MAX 5using namespace std;typedef struct student{int data;struct student* next;}node;
//建立链表node* creat(){node *head, *p, *s;head= (node*)malloc(sizeof(node));p=head;int circle=1, x;while(circle){printf("please input number: \n");scanf("%d",&x);if(x!=0){s=(node*)malloc(sizeof(node));s->data=x;p->next=s;p=s;}elsecircle=0;}head=head->next;p->next=NULL;return head;}
//删除一个元素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); }else{p2->next=p1->next;free(p1);}}elseprintf("no num.");return head;}
//添加一个元素node* add( node* head, int num ){node *p1, *p2, *p;p1=head;p=(node*)malloc(sizeof(node));p->data=num;while( p1->data < p->data && p1->next !=NULL){p2=p1; p1=p1->next;}if( p->data <=p1->data ){if( head==p1 ){p->next=p1;head=p;}else{p=p2->next;p->next=p1;}}else{p1->next=p;p->next=NULL;}return head;}int main(){int num ;node *head, *p;head=creat();p=head;while(p!=NULL){printf("%d\n",p->data);p=p->next;}head=del(head, 2);p=head;cout<<"after cut:\n ";while(p!=NULL){cout<<p->data<<endl;p=p->next;}head=add(head, 1);p=head;cout<<"after add:\n ";while(p!=NULL){cout<<p->data<<endl;p=p->next;}}
0 0
- 链表基础程序
- 数据结构基础 链表的插入排序程序
- 关于 双向循环链表 的一些基础程序
- 程序基础
- 程序基础
- 程序基础
- 程序基础
- 程序集基础
- win32程序基础
- 程序基础测试答案
- 程序基础测试答案
- 程序基础测试答案
- 程序基础测试答案
- 程序基础测试答案
- linux程序开发基础
- win32基础程序
- freetype2使用基础程序
- PASCAL基础-程序体
- 研发中版本管理的规范性
- Java 正则式 基础 笔记
- 仿QQ的ListView:SpinnedHeaderExpandableListView实现
- UVA 10934 Dropping water balloons(DP)
- 小z的袜子
- 链表基础程序
- open cv+C++错误及经验总结(十)
- WinNT下Sublime配置Python环境
- Nginx和Apache区别
- crontab 的使用及注意事项
- git学习一
- 索引
- RFS的web自动化验收测试——第17讲 RFS+AutoItLibrary测试web上传下载
- ORA-01795的原因及解决办法