博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单链表的生成,插入,删除,反向
阅读量:5898 次
发布时间:2019-06-19

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

// shuangshuang.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include
#include
#include
#include
//#include"myheader.h"using namespace std;typedef struct node{ int data; node* next;}node;bool init(node*& head,int darry[],int len)//初始化一个链表,链表载入数组darry的数据,len为长度{ if(darry == NULL) return false; head =(node*)malloc(sizeof(node)); node *p =head; if(head==0) { cout<<"have not got any storage"; } p->data=darry[0]; for(int i=1;i
data=darry[i]; p->next=pnext; p=p->next; } p->next=NULL;}void DisplayList(node* head){ cout<
data<
next; }}int length(node* head){ if(head == NULL) return 0; int i=0; while(head!=NULL) { head=head->next; i++; } return i;}node* del(node*& head,int num)//删除链表中value为num的结点{ node* p = head; node* psave = p; while(p->data!=num && p->next !=NULL) { psave = p; p=p->next; } if(p == head)//如果是删除头结点的话 { head=p->next; free(p); return head; } if( p->data == num) { psave->next = p->next; free(p); } else { cout<<"there is no "<
<<"in the list"<
data = num; if(inp == NULL) { cout<<"can`t get any memory"; return false;//没有插入返回错误 } if(num
data) { inp->next=head; head=inp; return true; } while(p->next!=NULL && p->next->data < num) { p=p->next; } inp->next = p->next; p->next=inp; return true;}node* reverseRecursive(node* head){ if( head == NULL || head->next==NULL) return head; node* pr=reverseRecursive(head->next); head->next->next=head; head->next=NULL; return pr;}node* reverse(node* head) //非嵌套版反转链表{ if( head == NULL || head->next==NULL) return head; node* p=head; node* pre = NULL; node* temp; while(p!=NULL) { temp=p->next; p->next=pre; pre=p; p=temp; } return pre;}int main(){ node *head = NULL; int thedata[]={ 11,12,13,24,35}; init(head,thedata,5); del(head,1312); DisplayList(head); insertList(head,20); DisplayList(head); head=reverse(head); DisplayList(head); cout<<"length:"<

 

转载于:https://www.cnblogs.com/Dzhouqi/p/3630241.html

你可能感兴趣的文章
安装nfs流程
查看>>
ospf不同区域的互通
查看>>
项目管理-最佳实践
查看>>
聊聊flink的JDBCOutputFormat
查看>>
四组王永盛学习Linux的决心
查看>>
selenium webdriver (4) -- page object
查看>>
TRex 学习 (5)---- stateful(API)
查看>>
FTP文件传输服务
查看>>
不用js代码,在selenium里面实现鼠标悬停
查看>>
C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 序列创建脚本参考
查看>>
从零开始的异界生活(偏了)从零开始搭建lamp服务ECShop,简单快速
查看>>
Linux中iscsi
查看>>
vim介绍vim颜色显示和移动光标vim一般模式下移动光标vim一般模式下复制、剪切和粘贴...
查看>>
动态加载布局
查看>>
Layout.addView时报错 java.lang.IllegalStateExcepti...
查看>>
Office 365 轻松上手指南 - SharePoint Online (二)
查看>>
HTML5与CSS3视口-retina屏幕适配
查看>>
21-DHCP Relay技术 //IOU模拟
查看>>
为什么开发人员必须要了解数据库锁?
查看>>
vlan hybrid端口的简单设置
查看>>