C语言 链表操作
#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语言 链表操作的更多相关文章
- C语言链表操作模板(添加,删除,遍历,排序)
C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...
- ZT C语言链表操作(新增单向链表的逆序建立)
这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...
- C 语言链表操作例程 (待完善)
#include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#inclu ...
- C语言,单链表操作(增删改查)(version 0.1)
这天要面试,提前把链表操作重新写了一遍.备份一下,以备不时之需. 希望有人能看到这篇代码,并指正. // File Name : list.h #include "stdafx.h" ...
- c语言实现--带头结点单链表操作
可能是顺序表研究的细致了一点,单链表操作一下子就实现了.这里先实现带头结点的单链表操作. 大概有以下知识点. 1;结点:结点就是单链表中研究的数据元素,结点中存储数据的部分称为数据域,存储直接后继地址 ...
- C语言 链表
原文:C语言 链表 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的. 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能. ...
- C语言链表实例--玩转链表
下图为最一简单链表的示意图: 第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量.以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 n ...
- JAVA 链表操作:循环链表
主要分析示例: 一.循环链表简述 二.单链表循环链表 三.双链表循环链表 一.循环链表简述 循环链表即链表形成了一个循环的结构,尾节点不再指向NULL,而是指向头节点HEAD,此时判定链表的结束是尾节 ...
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...
- C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat( ...
随机推荐
- 2024年1月Java项目开发指南14:关于post中的body和param以及java中的@RequestBody和@RequestParam
在HTTP请求中,POST方法通常用于向服务器发送数据,这些数据可以在请求的body中,也可以在URL的param中.不过,这两者的使用方式和适用场景是不同的. Body:在POST请求中,body主 ...
- 【Python】【爬虫】爬取小说5000章,遇到的爬虫问题与解决思路
爬虫问题分析 回顾 之前写了一个爬取小说网站的多线程爬虫,操作流程如下: 先爬取小说介绍页,获取所有章节信息(章节名称,章节对应阅读链接),然后使用多线程的方式(pool = Pool(50)),通过 ...
- 【C#】【平时作业】习题-12-事件
目录 1. 什么是事件? 2. 事件与委托的关系是什么? 3. 事件发生的类(事件发生器)的主要内容与作用? 4. 事件接收处理的类的主要内容与作用? 5. 什么是订阅事件 ? 6. 如何引发事件? ...
- 解决Failed to load module canberra-gtk-module错误
在Ubuntu环境里,通过./triangulation 1.png 2.png 命令运行高翔的ch7的triangulation程序时报错: Gtk-Message: 09:10:26.571: F ...
- [转]C# 组合查询条件
在我们开发过程中经常会遇见一些通过条件获取数据的功能,比如说获取我们的用户信息,查询输入框有用户姓名,部门,入职年份等等,但查询时可能只输入一个条件或多个条件,像这种不确定的查询时,我们应该如何处理. ...
- Element库的Vue版本ElementUI的本地引入方法
最近刚接触ElementUI,发现官方介绍的使用方法中只有npm安装和CDN引入这两种方式,没有本地引入的方法. 因为我的学习环境有时候是断网状态的,所以自己研究了一下本地引入的方法,记录在此. 1. ...
- 【Java 温故而知新系列】基础知识-01 概述
1.什么是Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承. 指针等概念,因此Java语言具有功能强大和简单易 用两个特征.Java语言作为 ...
- JMeter JSR223 Sampler 教程:性能测试的魔法棒
JMeter JSR223 Sampler 教程:性能测试的魔法棒 宝子们,今天咱要深入探索 JMeter 里超厉害的 JSR223 Sampler,它就像是一把万能钥匙,能打开性能测试的各种奇妙大门 ...
- VUE3基础环境搭建
VUE3基础环境搭建 1. 安装vue.js npm install vue -g 安装webpack Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bun ...
- ASP6.0 (VB) 获取目录下所有图片文件
<% 'Desc : ASP6.0 (VB) 获取目录下所有图片文件 'by : wgscd 'date : 2024-2-1 dim c_path c_path=Server.MapPath( ...