#include<stdio.h>
#include<stdlib.h>
struct node
{
   int data;
   struct node *next;
};
int main()
{
   struct node *head, *p, *q, *t;
   int i, n, a;
   scanf("%d", &n);
   head = NULL;
   for(i=1; i<=n; i++)
  {
       scanf("%d", &a);
       //动态申请一个空间,用来存放一个结点,并用临时指针p指向这个结点
       p = (struct node *)malloc(sizeof(struct node));
       p->data = a;
       p->next = NULL;
       if(head==NULL) head=p;
       else q->next=p;
       q = p;
  }
   t = head;
   while(t!=NULL)
  {
       printf("%d ", t->data);
       t = t->next;
  }
   return 0;
}
//链表插入数据
#include<stdio.h>
#include<stdlib.h>
struct node
{
   int data;
   struct node *next;
};
int main()
{
   struct node *head, *p, *q, *t;
   int i, n, a;
   scanf("%d", &n);
   head=NULL;
   for(i=0; i<n; i++)
  {
       scanf("%d", &a);
       p = (struct node *)malloc(sizeof(struct node));
       p->data = a;
       p->next = NULL;
       if(head==NULL) head=p;
       else q->next = p;
       q = p;
  }
   scanf("%d", &a);//待插入的数
   t = head;
   while(t!=NULL)
  {
       if(t->next->data > a)
      {
           p = (struct node *)malloc(sizeof(struct node));
           p->data = a;
           p->next = t->next;
           t->next = p;
           break;
      }
       t = t->next;
  }
   t = head;
   while(t!=NULL)
  {
       printf("%d ", t->data);
       t = t->next;
  }
   return 0;
}

>9 >2 3 5 8 9 10 18 26 32 >6 2 3 5 6 8 9 10 18 26 32

//模拟链表
#include<stdio.h>
int main()
{
int data[101], right[101];
//data表示数据,right表示序列右边的数的下标号
int i, n, t, len;
//读入已有的数
scanf("%d", &n);
for(i=1; i<=n; i++)
scanf("%d", &data[i]);
len = n;
//初始化数组right
for(i=1; i<=n; i++)
{
if(i!=n) right[i] = i+1;
else right[i] = 0;
}
len++;
scanf("%d", &data[len]);
t = 1;//从头部开始遍历
while(t!=0)
{
if(data[right[t]]>data[len])
{
right[len] = right[t];
right[t] = len;
break;
}
t = right[t];
}
t = 1;
while(t!=0)
{
printf("%d ", data[t]);
t = right[t];
}
return 0;
}

9 2 3 5 8 9 10 18 26 32 6 2 3 5 6 8 9 10 18 26 32

C语言 链表操作的更多相关文章

  1. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...

  2. ZT C语言链表操作(新增单向链表的逆序建立)

    这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...

  3. C 语言链表操作例程 (待完善)

    #include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#inclu ...

  4. C语言,单链表操作(增删改查)(version 0.1)

    这天要面试,提前把链表操作重新写了一遍.备份一下,以备不时之需. 希望有人能看到这篇代码,并指正. // File Name : list.h #include "stdafx.h" ...

  5. c语言实现--带头结点单链表操作

    可能是顺序表研究的细致了一点,单链表操作一下子就实现了.这里先实现带头结点的单链表操作. 大概有以下知识点. 1;结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址 ...

  6. C语言 链表

    原文:C语言 链表 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的. 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能. ...

  7. C语言链表实例--玩转链表

    下图为最一简单链表的示意图: 第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量.以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 n ...

  8. JAVA 链表操作:循环链表

    主要分析示例: 一.循环链表简述 二.单链表循环链表 三.双链表循环链表 一.循环链表简述 循环链表即链表形成了一个循环的结构,尾节点不再指向NULL,而是指向头节点HEAD,此时判定链表的结束是尾节 ...

  9. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  10. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

随机推荐

  1. MySQL 优化利器 SHOW PROFILE 的实现原理

    背景 最近碰到一个 case,通过可传输表空间的方式导入一个 4GB 大小的表,耗时 13 分钟. 通过PROFILE定位,发现大部分耗时竟然是在System lock阶段. mysql> se ...

  2. 【XML】学习笔记第三章-namesapce

    目录 命名空间 命名空间概述 命名空间语法 命名空间的声明 命名空间作用域 对命名空间的使用 元素对命名空间的使用 属性对命名空间的使用 DTD对命名空间的支持 命名空间 命名空间概述 标记中出现了同 ...

  3. 【C#】【平时练习】将左边列表框(List)的内容(月份)添加到右边列表框。最终右侧显示的内容(月份)要保持一定顺序

    Aspx - 点击查看代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...

  4. Spring注解之-@ConditionalOnExpression表达式

    @ConditionalOnExpression("'true") 当括号中的内容为true时,使用该注解的类被实例化,支持语法如下: @ConditionalOnExpressi ...

  5. Linux系统手动安装Firefox浏览器

    大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如:Debian/Ubuntu: sudo apt-get install firefoxFedora: sud ...

  6. Qt自定义控件大全文章导航

    文章 链接 Qt编写自定义控件1-汽车仪表盘 https://qtchina.blog.csdn.net/article/details/89407746 Qt编写自定义控件2-进度条标尺 https ...

  7. Solution Set - “让季节停止哽咽”

    目录 0.「CTT 2017」「洛谷 P4004」Hello world! 1.「CTT 2017」「洛谷 P4006」小 Y 和二叉树 2.「CTT 2017」「洛谷 P4226」避难所 3.「AG ...

  8. Python语法使用

    由于之前学习过js,代码基本上是相同的,先看看和js有那些区别 项目 python javascript 适用版本 python3 es6,即ECMAScript 2015 运行环境 #!/usr/b ...

  9. FIDO 密钥登录

    FIDO 密匙登录 [1]介绍了一些基础密码知识,科普性较好,在此摘抄一下: 说起密码,你会想起什么? 密码太多,记不住? 图省事所有网站用同一个密码,一个泄露了,手忙脚乱地去改密码? 网站被脱库,数 ...

  10. CP56Time2A时间转换

    * CP56Time2A时间格式 该时标格式使用7个字节来表示时间信息,上图的表中体现为--从最左侧8所在的行开始,到下面56所在的行,共7行.每一行表示一个字节,每行从右向左依次是该字节的第一位(最 ...