首页 > 其他分享 >数据结构练习笔记——创建有序单链表

数据结构练习笔记——创建有序单链表

时间:2023-07-16 15:24:43浏览次数:35  
标签:pre Node 单链 笔记 next 有序 表中 数据结构

创建有序单链表

【问题描述】为从键盘终端输入的m个整数创建带头结点的有序单链表存储结构,使输入的数据元素在单链表中按照元素值递增有序。
【输入形式】
第一行:单链表中元素个数m
第二行:单链表中的m个整数
【输出形式】按递增有序形式输出m个整数
【样例输入】
5
1 3 2 4 5
【样例输出】1 2 3 4 5

#include  <iostream>
using  namespace  std;
struct  Node  {
        int  data;
        Node  *next;
};
typedef  Node  *LinkList;
//-----------创建有序单链表-------
void createOList(LinkList &h,int n) {
    Node *p,*pre;
    h=new Node;
    h->next=NULL;
    for(int i=1;i<=n;i++){
        p=new Node;
        cin>>p->data;
        pre=h;
        while(pre->next && pre->next->data < p->data){
            pre=pre->next;
        }  //边比较边插入
        p->next=pre->next;
        pre->next=p;
    }
}
//----------------------
void  printList(LinkList  L)  {
        Node  *p;
        p=L->next;
        while(p)  {
                cout<<p->data<<"  ";
                p=p->next;
        }
        cout<<endl;
}
int  main()  {
        LinkList  L;
        int  m;
        cin>>m;//单链表中元素个数
        createOList(L,m);//创建带头节点的有序单链表
        printList(L);
        return  0;
}

记录一些数据结构学习过程的习题代码,便于日后查看。如有错误,欢迎交流指正。

标签:pre,Node,单链,笔记,next,有序,表中,数据结构
From: https://www.cnblogs.com/zhuannnn/p/17557879.html

相关文章

  • C语言学习笔记(二)分支语句和循环语句
    分支语句和循环语句分支语句(选择结构)if语句switch语句if语句==:判断=:赋值-------------------------------------------------1---------------------------------------------------------if(条件){ 语句; ......}------------------------------------------......
  • C语言学习笔记2
    数组所谓数组,就是一个集合,里面存放了相同类型的数据元素特点:数组中的每个数据元素都是相同的数据类型,数组是由连续的内存位置组成的。一维数组一维数组定义方式3种:1数据类型数组名[数组长度];创建一个数组,[]里给一个常量表达式,不能是变量。2数据类型数组名[数组长度]......
  • 全网最详细4W字Flink入门笔记(下)
    本文已收录至Github,推荐阅读......
  • 全网最详细4W字Flink入门笔记(上)
    本文已收录至Github,推荐阅读......
  • 整体二分 学习笔记
    对多个答案同时二分。每次将答案在\([l,r)\)中的询问按答案与\(\text{mid}\)的关系丢进两个\([l,\text{mid})\)和\([\text{mid},r)\)的std::vector里,递归求解即可。递归终止的条件:可能的答案区间长度为\(1\),此时答案唯一确定。例题:带修区间\(k\)小将修改和询......
  • C语言:数据结构之单链表(四)
    本篇谈一谈单链表的改,具体操作就是找到他,然后修改元素即可,上一篇有相关代码,可以参考。改函数代码如下:voidCorrect(LinkListheader,intsite_,charletter_){LinkListq=Search_Site(header,site_);q->letter=letter_;}main函数如下:(修改第6,......
  • spring完整笔记
    第一章初识Spring1.1Spring简介Spring是一个为简化企业级开发而生的开源框架。Spring是一个IOC(DI)和AOP容器框架。IOC全称:InversionOfControl【控制反转】将对象控制权由程序员自己反转交个SpringDI全称:DependencyInjection【依赖注入】Spring管理对象与对......
  • #Deeplearning#人工智能导论学习笔记
    神经网络基础线性函数(得分函数)计算每个类别的得分:每个像素点都会影响结果(像素点的权重参数)f(image,parameters)每个像素点都需要有一个权重,每个像素点会按RGB拆分成三个矩阵中的元素单行矩阵(每个像素点的权重)x像素点(所有像素点)=1x1矩阵(得分)f(x,W)=Wx+b简而言之,就是每......
  • 《架构整洁之道》学习笔记 Part 2 编程范式
    计算机编程发展至今,一共只有三个编程范式:结构化编程面向对象编程函数式编程编程范式和软件架构的关系结构化编程是各个模块的算法实现基础多态(面向对象编程)是跨越架构边界的手段函数式编程是规范和限制数据存放位置与访问权限的手段软件架构的三大关注重点:功能性、组......
  • 【学习笔记】山东省队第三轮集训
    Day2A.sequence题目描述:题目分析:考虑一个很简单的\(dp\)就是设\(f[i]\)表示考虑了前\(i\)个位置最多可以划分为多少个序列。转移就是可以直接从\(f[i-1]\)继承,或者从\(j\)满足\(\sum_{k=j+1}^{i}c_i=0\),也就是前缀和相等。可以发现的是对于从\(j\)转移这种......