博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为机考3
阅读量:5837 次
发布时间:2019-06-18

本文共 2316 字,大约阅读时间需要 7 分钟。

链表操作

#include 
#include
#include
#include
using namespace std;typedef struct student{ int data; struct student *next;}node;/* 链表的创建*/node *creat(){ node *head,*p,*s; int x; int cycle=1; head=(node*)malloc(sizeof(node)); p=head; while(cycle) { cout<<"please enter a number"<
>x; if(x!=0) { s=(node*)malloc(sizeof(node)); s->data=x; p->next=s; p=s; } else cycle=0; } head=head->next; p->next=NULL; return (head);}/*链表的测长*/ int length(node *head){ int n=0; node *p; p=head; while(p!=NULL) { p=p->next; n++; } return n;} /*链表的排序*/ node *sort(node* head, int n){ int i; int j; int temp; node *p; if(head==NULL||head->next==NULL) return (head); p=head; for(i=1;i
data>p->next->data) { temp=p->next->data; p->next->data=p->data; p->data=temp; } p=p->next; } } return (head);} /*链表的逆置*/ node *reverse(node* head){ node *p1; node *p2; node *p3; if(head==NULL||head->next==NULL) return head; p1=head; p2=p1->next; while(p2) { p3=p2->next; p2->next=p1; p1=p2; p2=p3; } head->next=NULL; head=p1; 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 *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(head==p1) { head=p1->next; free(p1); } else p2->next=p1->next; }else cout<
<<"couldn't be found"<
data<<" "; p=p->next; } cout<
data<<" "; p=p->next; } cout<
data<<" "; p=p->next; } cout<
>a; head=insert(head,a); p=head; cout<<"插入后链表是:"; if(head!=NULL) //插入后链表的打印 while(p!=NULL) { cout<
data<<" "; p=p->next; } cout<
>b; head=del(head,b); p=head; cout<<"删除后链表是:"; if(head!=NULL) //删除后链表的打印 while(p!=NULL) { cout<
data<<" "; p=p->next; } cout<
View Code

 

转载地址:http://aqccx.baihongyu.com/

你可能感兴趣的文章
lsa声卡/dev/snd/pcmC0D0p的open打开流程
查看>>
浅谈什么是正向代理和反向代理,如何使用nginx搭建正向代理和反向代理
查看>>
转 通过phpize为php在不重新编译php情况下安装模块openssl
查看>>
html基础
查看>>
深入理解java虚拟机(三)--类文件结构
查看>>
Null value was assigned to a property of primitive type setter of
查看>>
三元表达式,推导式,递归,匿名函数,内置函数
查看>>
zabbix3.4配置之邮件报警机制(通过zabbix自有的邮件机制)
查看>>
SQL server查看触发器是否被禁用
查看>>
jupyter notebook的安装与基本操作
查看>>
C#: using JsonReader avoid Deserialize Json to dynamic
查看>>
[C++基础]在构造函数内部调用构造函数
查看>>
跟随我在oracle学习php(8)
查看>>
FZU - 1688 Binary land
查看>>
Spring 3.1.0 Hibernate 3.0 Eclipse Spring WEB例子
查看>>
如何用ABP框架快速完成项目(9) - 用ABP一个人快速完成项目(5) - 不要执着于设计模式和DDD理论,避免原教旨主义...
查看>>
用户交互
查看>>
libkyototycoon.so.2: cannot open shared object file: No such file
查看>>
ASP.Net 后台发回错误
查看>>
【微服务架构与实践】读后感
查看>>