IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 王道C语言导学班 中级day5 -> 正文阅读

[C++知识库]王道C语言导学班 中级day5

王道C语言导学班 中级day5
输入3 4 5 6 7 9999一串整数,9999代表结束,通过尾插法新建链表,查找第二个位置的值并输出,在2个位置插入99,输出为 3 99 4 5 6 7,删除第4个位置的值,打印输出为 3 99 4 6 7。

#include<stdio.h>
#include<stdlib.h>
/*输入3 4 5 6 7 9999一串整数,9999代表结束
通过尾插法新建链表,
查找第二个位置的值并输出,
在2个位置插入99,输出为  3 99  4  5  6  7,
删除第4个位置的值,打印输出为  3 99  4   6  7。*/
typedef struct Lnode {
	int data;
	struct Lnode* next;
}Lnode,*Linklist;
//根据位置进行删除操作

//根据位置进行查找
Linklist GetElem(Linklist L,int i) {//i是需要查找的位置
	int j = 1;//记录正在查找的位置
	Linklist p=L->next;
	if (i < 1) {
		return NULL;
	}
	if (0 == i) {
		return L;
	}
	while (p && j < i) {
		p = p->next;
		j++;
		
	}
	return p;
}
//打印链表
void printlist(Linklist L) {
	L = L->next;
	while (L != NULL) {
		printf("%3d", L->data);
		L = L->next;
	}
	printf("\n");
}
//尾插法
Linklist creatlist(Linklist& L) {
	L = (Lnode*)malloc(sizeof(Lnode));
	Lnode* p, * q;
	q = L;
	int a;
	scanf("%d", &a);
	while (a != 9999) {
		p = (Lnode*)malloc(sizeof(Lnode));
		p->data = a;
		q->next = p;
		q = p;
		scanf("%d", &a);
		
	}
	q->next = NULL;
	return L;
}
//根据位置进行插入
Linklist InsertList(Linklist& L, int i) {
	Linklist p = GetElem(L, i-1 );
	Lnode* q=(Lnode*)malloc(sizeof(Lnode));
	q->data = 99;
	q->next = p->next;
	p->next = q;
	return L;
}
//根据位置进行删除操作
Linklist DeletElem(Linklist& L, int i) {
	Linklist p;
	p = GetElem(L, i - 1);
	Linklist q;
	q = GetElem(L, i);
	p->next = q->next;
	q->next = NULL;
	free(q);
	return L;
}
int main() {
	Linklist L;
	creatlist(L);
	//printlist(L);
	Linklist s;
	s= GetElem(L, 2);
	if (s != NULL) {
		printf("%d", s->data);
	}
	printf("\n");
	InsertList(L, 2);
	printlist(L);
	DeletElem(L, 4);
	printlist(L);


}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:12:28  更:2022-02-26 11:16:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:39:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码