对 带头结点的单链表 的操作

//带头结点的单链表

#include<iostream>

using namespace std;

typedef struct student

{

       int data;

       struct student *next;

}node;

node * creat()                          //创建单链表

{

       node *head,*p,*s;

       int x,cycle=1;

       head=(node *)malloc(sizeof(node));

       p=head;

 

       while(cycle)

       {

 

              cout<<"请输入一直不为0的数,输入0则结束"<<endl;

              cin>>x;

              if(x!=0)

              {

                     s=(node *)malloc(sizeof(node));

                     s->data=x;

                     p->next=s;

                     p=s;

              }

              else cycle=0;

 

       }

       p->next=NULL;

       return head;

}

int listLength(node *head)                        //单链表的测长

{

       int i=0;

       node *p=head;

       p=head;

              do

              {

                     p=p->next;

                i++;

 

              }while(p->next!=NULL);

              return i;

}

void printList(node *head)                       //打印单链表

{

       node *p=head->next;

       int len=listLength(head);

       for(int i=0;i<len;i++)

       {

              cout<<p->data<<endl;

              p=p->next;

       }

}

node * deleteNode(node *head,int e)                          //删除单链表的结点

{

       node *p1,*p2;

       p1=head->next;

       while(p1->data!=e && p1->next!=NULL)

       {

              p2=p1;

              p1=p1->next;

       }

       if(e==p1->data)

       {

              if(p1==head->next)

              {

                     head->next=p1->next;

                     free(p1);

              }

              else

              {

                     p2->next=p1->next;

                     free(p1);

              }

 

       }

       else

              cout<<"未找到结点的数据域值为:"<<e<<"的结点"<<endl;

       return head;

 

}

node * insert(node *head,int e)   //链表插入一个结点

{

       node *p1,*p2,*s;

       p1=head->next;

       s=(node *)malloc(sizeof(node));

       s->data=e;

       while(s->data > p1->data && p1->next!=NULL)

       {

              p2=p1;

              p1=p1->next;

       }

       if(s->data < p1->data)

       {

              if(p1==head->next)

              {

                     s->next=p1;

                     head->next=s;

              }

              else

              {

                     s->next=p1;

                     p2->next=s;

              }

       }

       else

              p1->next=s;

       s->next=NULL;

       return head;

}

int main()

{

       node *head;

       head=creat();

       printList(head);

       head=insert(head,3);

    printList(head);

       return 0;

}

转载于:https://www.cnblogs.com/this-543273659/archive/2011/08/03/2126157.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可交互的对抗网络如何增强人类创造力?

编译&#xff1a;集智翻译组来源&#xff1a;distill.pub作者&#xff1a;Shan Carter&#xff0c;Michael Nielsen原题&#xff1a;Using Artificial Intelligence to Augment Human Intelligence摘要&#xff1a;计算机不仅可以是解决数学问题的工具&#xff0c;还可以是拥有…

[转载] 本能

新浪影音娱乐&#xff1a;http://data.ent.sina.com.cn/movie/3819.html 转载于:https://www.cnblogs.com/6DAN_HUST/archive/2011/08/04/2126907.html

ARM 寄存器 详解

From&#xff08; ARM 寄存器详解 &#xff09;&#xff1a;https://blog.csdn.net/sandeldeng/article/details/52954781 ARM 汇编基础教程&#xff1a;2.数据类型和寄存器&#xff1a;https://www.52pojie.cn/thread-797306-1-1.html ARM 的 寄存器 ARM 工作状态 和 工作模式…

让AI个性化而且功耗更低 IBM研发新型神经网络芯片

选自&#xff1a;Singularity Hub编译&#xff1a;网易智能参与&#xff1a;李擎摘要&#xff1a;在GPU上运行的神经网络已经在人工智能领域取得了一些惊人的进步&#xff0c;但这两者的合作还并不完美。IBM的研究人员希望能设计出一种专门用于运行神经网络的新的芯片&#xff…

Net C# 扩展方法

Net C# 扩展方法扩展方法使您能够向现有类型“添加”方法&#xff0c;而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法&#xff0c;但可以像扩展类型上的实例方法一样进行调用。好处&#xff1a;不修改原有类型的实现调用&#xff1a…

豆瓣 音乐和读书的搜索页的 window.__DATA__ 的解密

豆瓣读书搜索页的 window.__DATA__ 的解密&#xff1a;https://www.jianshu.com/p/ac8b81950a73 豆瓣的 音乐搜索 和 读书搜索&#xff0c;返回的网页源码都有 window.__DATA__ &#xff0c;这是 js 加密 之后的数据 具体分析 参考 &#xff1a;https://www.jianshu.com/p/ac8…

每日一题——LeetCode888

方法一 个人方法&#xff1a; 交换后要达到相同的数量&#xff0c;那么意味着这个相同的数量就是两个人总数的平均值&#xff0c;假设A总共有4个&#xff0c;B总共有8个&#xff0c;那么最后两个人都要达到6个&#xff0c;如果A的第一盒糖果只有1个&#xff0c;那么B就要给出6…

“真”5G标准出炉!不止是速度,这些难以置信的改变将彻底颠覆你的生活

来源&#xff1a;传球创新论坛摘要&#xff1a;5G时代又离我们近了一大步。6月14上午11时许&#xff0c;3GPP批准了第五代移动通信标准5G NR独立组网&#xff08;SA&#xff09;的冻结&#xff0c;这意味着首个完整意义的国际5G标准正式确立。未来&#xff0c;5G技术将成为和电…

写在囧男囧女们的七夕节

写在囧男囧女们的七夕节 当我们发现某些节日已经远离我们时&#xff0c;我们往往会以幽默的方式&#xff0c;让自己无厘头地般地分享节日的快乐 。比如&#xff0c;每年的六月一日&#xff0c;不管童年已经离我们多遥远&#xff0c;见朋友或同事就来上一句“节日快乐”&#xf…

安卓逆向_16 --- ARM 静态分析( 使用 IDA Pro 分析 ARM 汇编【java_ 和 JNI_OnLoad】 )

菜鸟总结 so 分析&#xff0c;arm 汇编&#xff0c;IDA 静态分析&#xff1a;https://www.52pojie.cn/thread-695063-1-1.html JNI 静态注册 so 和 IDA 导入的 JNI.h 文件.zip&#xff1a;https://download.csdn.net/download/freeking101/12571373 ARM 静态分析&#xff1a; …

人脑的前世今生

来源&#xff1a;科学网摘要&#xff1a;人类的神奇常常归结于一个智慧的大脑以及贯穿于其中的无比复杂的神经网络&#xff0c;并认为这源自上帝之手&#xff0c;但其实它并不是无中生有的&#xff0c;而是自然演化的产物&#xff0c;虽然是一个无与伦比的杰作&#xff0c;但人…

Web在线操作Office之Word

最近公司有个项目&#xff0c;需要直接在IE浏览器中操作Word文档&#xff0c;随后在网上搜了一些资料&#xff0c;感觉都不是很理想。不过&#xff0c;最后还是找到了一个 功能比较强的控件&#xff0c;是老外开发的控件&#xff0c;需要注册。还好&#xff0c;没有注册时&…

安卓逆向_17 --- IDA 动态调试【 环境搭建、so库调试【动态普通、动态debug模式】、JNI_OnLoad调试分析、java_ 开头函数分析】

哔哩哔哩视频&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p54 IDA Pro调试so&#xff0c;附加完毕&#xff0c;跳到目标so基址&#xff0c;但是内容都是DCB伪指令&#xff1f;&#xff1a;https://bbs.pediy.com/thread-222646.htm Android 中 adb shell ps 查…

2018全球科技创新报告

来源&#xff1a;199IT互联网数据中心摘要&#xff1a;毕马威报告显示&#xff0c;我们如今正处在一个科技创新爆发的时代&#xff0c;对于科技企业来说&#xff0c;现在不是害怕失败或是裹足不前的时候。毕马威报告显示&#xff0c;我们如今正处在一个科技创新爆发的时代&…

安卓逆向_18 --- APK保护策略【Java代码混淆、资源混淆、签名校验】

Java 代码混淆介绍&#xff1a;https://www.bilibili.com/video/BV1UE411A7rW?p60 Android 反编译利器 jadx&#xff1a;GitHub上直接下载&#xff1a;https://github.com/skylot/jadx Jeb 软件是一款专业实用且为安全专业人士设计的 Android 应用程序的反编绎工具&#xff0…

VC++ CFileDialog文件选择对话框的构造和文件操作

CFileDialog文件选择对话框的使用&#xff1a;首先构造一个对象并提供相应的参数&#xff0c;然后判断选择的是确定按钮IDOK &#xff0c;还是取消按钮IDCANCEL 。构造函数原型如下&#xff1a;CFileDialog::CFileDialog( BOOL bOpenFileDialog,LPCTSTR lpszDefExt NULL,LPCTS…

谷歌的「未来城市」

来源&#xff1a;爱范儿摘要&#xff1a;自 2015 年以来&#xff0c;谷歌一直在进行一个神秘的项目。自 2015 年以来&#xff0c;谷歌一直在进行一个神秘的项目。它就是由谷歌主导的「高科技未来城市项目」。那这个高科技未来城市是个什么样的城市&#xff0c;让玩物君来告诉你…

解题报告 keke 的房子

1. 题目 Keke的房子 Description keke得到了一块n*m的土地&#xff0c;他灰常高兴&#xff0c;于是他想要盖个房子&#xff0c;keke的房子必须是正方形的。 但是&#xff0c;并不是土地的每个地方都能盖房子。地面上有一些地方不能盖一砖一瓦。 他当然希望将房子盖得大一…

安卓逆向_19( 一 ) --- APK保护策略【APP打开就崩溃 之 霸哥apk过签名校验】

From&#xff1a;霸哥磁力搜索apk 过签名校验&#xff1a;https://www.cnblogs.com/LuLuLuHao/p/12863978.html 霸哥磁力搜索app回编签名&#xff1a;https://www.ssfiction.com/archives/2293 https://www.cnblogs.com/LuLuLuHao 哔哩哔哩&#xff08; IDA 分析 so &…

OpenAI NLP最新进展:通过无监督学习提升语言理解

编译 | reason_W编辑 | 明 明出品 | AI科技大本营摘要&#xff1a;近日&#xff0c;OpenAI 在其官方博客发文介绍了他们最新的自然语言处理&#xff08;NLP&#xff09;系统。这个系统是可扩展的、与任务无关的&#xff0c;并且在一系列不同的 NLP 任务中都取得了亮眼的成绩。但…