list链表的创建,排序,插入, test ok

1. 链表的建立,打印 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <stack>
#include <iostream>
#include <string.h>
#include <string>using namespace std;struct node {int data;struct node* next;
};
struct node* initHead()
{struct node* newNode = (struct node*)malloc(sizeof(struct node));if (nullptr == newNode){return nullptr;}newNode->data = 0;newNode->next = nullptr;return newNode;
}
struct node* initNode(int num)
{struct node* newNode = (struct node*)malloc(sizeof(struct node));if (nullptr == newNode){return nullptr;}newNode->data = num;newNode->next = nullptr;return newNode;
}
void insertNode(struct node *head ,struct node * node)
{if (nullptr == head){return;}if (nullptr == node){return;}head->next = node;
}void nodePrint(struct node* head)
{if (nullptr == head->next){return;}node* temp_print_node = head->next;while (nullptr != temp_print_node){printf(",%c", temp_print_node->data);temp_print_node = temp_print_node->next;}
}int main(int argc, char* argv[]) 
{node* A = initHead();node* B = initNode('B');node* C = initNode('C');node* D = initNode('D');node* E = initNode('E');node* F = initNode('F');node* G = initNode('G');insertNode(A, B);insertNode(B, C);insertNode(C, D);insertNode(D, E);insertNode(E, F);insertNode(F, G);nodePrint(A);system("pause");return 0;
}

输出打印

 2. 链表冒泡排序法

C/C++编程技术:数据结构与算法之二叉树(一个小时掌握)_哔哩哔哩_bilibili

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <stack>
#include <iostream>
#include <string.h>
#include <string>using namespace std;struct node {int data;struct node* next;
};
struct node* initHead()
{struct node* newNode = (struct node*)malloc(sizeof(struct node));if (nullptr == newNode){return nullptr;}newNode->data = 0;newNode->next = nullptr;return newNode;
}
struct node* initNode(int num)
{struct node* newNode = (struct node*)malloc(sizeof(struct node));if (nullptr == newNode){return nullptr;}newNode->data = num;newNode->next = nullptr;return newNode;
}
void insertNode(struct node *head ,struct node * node)
{if (nullptr == head){return;}if (nullptr == node){return;}head->next = node;
}void nodePrint(struct node* head)
{if (nullptr == head->next){return;}node* temp_print_node = head->next;while (nullptr != temp_print_node){printf(",%d", temp_print_node->data);temp_print_node = temp_print_node->next;}
}
void maopao(struct node* head)
{node* turn = nullptr;node* move = nullptr;node* save = nullptr;for (turn = head->next; turn->next != nullptr; turn = turn->next){for (move = head->next; move->next != save; move = move->next){if ((move->data) > (move->next->data)){int temp_data = move->data;move->data = move->next->data;move->next->data = temp_data;}}save = move;}
}int main(int argc, char* argv[]) 
{node* A = initHead();node* B = initNode(3);node* C = initNode(2);node* D = initNode(1);node* E = initNode(6);node* F = initNode(9);node* G = initNode(4);insertNode(A, B);insertNode(B, C);insertNode(C, D);insertNode(D, E);insertNode(E, F);insertNode(F, G);std::cout << "main before" << std::endl;nodePrint(A);maopao(A);std::cout << "main after" << std::endl;nodePrint(A);system("pause");return 0;
}

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

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

相关文章

存内计算生态环境搭建以及软件开发

在当今数据驱动的商业世界中&#xff0c;能够快速处理和分析大量数据的能力变得越来越重要。而存内计算开发环境在此领域发挥其关键作用。存内计算环境利用内存&#xff08;RAM&#xff09;而非传统的磁盘存储来加速数据处理&#xff0c;提供了一个高效和灵活的平台。这种环境的…

SpringCloud--Sentinel使用

一、快速开始 Sentinel 的使用可以分为两个部分&#xff1a; 核心库&#xff08;Java 客户端&#xff09;&#xff1a;不依赖任何框架/库&#xff0c;能够运行于 Java 8 及以上的版本的运行时环境&#xff0c;同时对 Dubbo / Spring Cloud 等框架也有较好的支持。控制台&…

重构、重构、不小心把截图弄掉了,又要重新⏲

这里卡了一天的命令行了&#xff0c;都是vue,react的&#xff0c;也是服了。 参考文章&#xff0c;vue的响应式&#xff0c;以下是链接 https://blog.csdn.net/jieyucx/article/details/134534625 #mermaid-svg-H5Ltjf334Cx7lPuR {font-family:"trebuchet ms",verda…

HarmonyOS通过 axios发送HTTP请求

我之前的文章 HarmonyOS 发送http网络请求 那么今天 我们就来说说axios 这个第三方工具 想必所有的前端开发者都不会陌生 axios 本身也属于 HTTP请求 所以鸿蒙开发中也支持它 但首先 想在HarmonyOS中 使用第三方工具库 就要先下载安装 ohpm 具体可以参考我的文章 HarmonyOS 下…

IntelliJ IDEA 2020.2.4试用方法

打开idea&#xff0c;准备好ide-eval-resetter压缩包。 将准备好的压缩包拖入idea中 选中弹窗中的自动重置选项&#xff0c;并点击重置 查看免费试用时长

rabbitmq基础(1)

1、背景 能实现消息队列的框架软件有很多&#xff0c;kafka、rabbitmq、RocketMq、activeMq、Redis&#xff08;非专业&#xff09;&#xff0c;各有各的特点和优缺点。但是之前的公司数据需求规模并非很大&#xff0c;所以采用rabbitmq作为消息队列。 2、rabbitMq的基础架构…

结构体嵌套

在C或C编程中&#xff0c;结构体嵌套是指一个结构体内部包含了另一个结构体的实例作为其成员。 // 结构体嵌套.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #define _CRT_SECURE_NO_WARNINGS#include <iostream>// 定义一个地址结构体 type…

矩阵爆破逆向-条件断点的妙用

不知道你是否使用过IDA的条件断点呢&#xff1f;在IDA进阶使用中&#xff0c;它的很多功能都有大作用&#xff0c;比如&#xff1a;ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大&#xff0c;配合IDA-python的输出语句能够大杀特杀&#xff01; 那么本文就介绍一下这…

SpringBoot集成flink

Flink是一个批处理和流处理结合的统一计算框架&#xff0c;其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。 最大亮点是流处理&#xff0c;最适合的应用场景是低时延的数据处理。 场景&#xff1a;高并发pipeline处理数据&#xff0c;时延毫秒级&#xff0c;且兼具…

【Python】新手入门(2):避免将关键字作为标识符

Python新手入门&#xff08;2&#xff09;&#xff1a;避免将关键字作为标识符 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1…

【Redis】Redis持久化模式RDB

目录 引子 RDB RDB的优缺点 小节一下 引子 不论把Redis作为数据库还是缓存来使用&#xff0c;他肯定有数据需要持久化&#xff0c;这里我们就来聊聊两种持久化机制。这两种机制&#xff0c;其实是 快照 与 日志 的形式。快照:就是当前数据的备份&#xff0c;我可以拷贝到磁…

Win UI3开发笔记(四)设置主题续2

本机深色主题下设置的背景颜色可以作用于整个对话框&#xff0c;本机浅色模式下设置的背景颜色只作用与下边的部分。 如果本机选深色&#xff0c;程序选浅色&#xff0c;设置为light只对上部分管用&#xff0c;下部分不管用。如图&#xff0c;左边那个hello按钮要看不见了。。…