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.mzph.cn/news/722770.shtml

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

相关文章

Vue项目性能分析工具: vue-cli-plugin-webpack-bundle-analyzer

在优化项目的时候&#xff0c;每次打包后只知道包文件大&#xff0c;却不知道那个文件大&#xff0c;那个文件还有优化的空间&#xff0c;所以&#xff0c;推荐一款工具&#xff0c;只要在项目中安装配置一下&#xff0c;便可以一目了然的呈现出打包后资源所占的比例&#xff0…

【贪心算法】摆动序列

如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如&#xff0c; [1, 7, 4, 9, 2, 5] 是一个 摆动序列 &…

【vue项目适配可借助于插件lib-flexible 和postcss-px2rem】

前言&#xff1a;vue项目适配可借助于插件lib-flexible 和postcss-px2rem。 lib-flexible插件的作用&#xff1a;根据屏幕尺寸不同设置html根标签的字体大小&#xff0c;1rem即等于根标签的字体大小。 postcss-px2rem插件的作用&#xff1a;将px转为rem,如此以来我们可以在开…

Python与HTTP服务交互

Python与HTTP服务交互&#xff0c;可以通过http.client requests RissionPage等。 http.client标准库 http.client 是Python标准库中的一个模块&#xff0c;用于发送HTTP请求。这个模块提供了一个低级别的接口&#xff0c;允许你手动构建HTTP请求并处理响应。下面是对 http.c…

(科目三)数据库基础知识

1、基本概念 1.1 数据库 1、数据、信息和数据处理 数据是指表达信息的某种物理符号&#xff1b; 信息是对客观事物的反映&#xff0c;是为某一特定目的二提供的决策数据&#xff1b; 数据处理是指将数据转换成信息的过程&#xff0c;是对各类型的数据进行收集、整理、存储、…

军用技术民用开花,Shokz韶音要做下一个“AirPods”

Shokz韶音对打造消费级骨传导耳机的执念始于2007年。 在这之前&#xff0c;它已经成为亚洲最大的军用耳机生产商&#xff0c;以代工订单为主的商业模式是Shokz韶音的主营业务。虽然Shokz韶音靠代工赚得了第一桶金&#xff0c;但军用耳机的垂直细分市场容量有限&#xff0c;市场…

java构造函数

Java中的构造函数是一种特殊类型的方法&#xff0c;用于在创建对象时初始化对象的状态。构造函数与类同名&#xff0c;没有返回类型&#xff0c;并且在创建对象时自动调用。它可以用于执行必要的初始化操作&#xff0c;例如设置对象的初始值、分配内存等。以下是一个简单的Java…

Python 实现冒泡排序算法

Python 实现冒泡排序算法 下面是用 Python 实现的冒泡排序算法示例代码&#xff1a; def bubble_sort(arr):n len(arr)# 遍历数组元素for i in range(n):# 每次遍历都将最大的元素移动到最后for j in range(0, n-i-1):# 如果相邻的元素逆序&#xff0c;则交换它们if arr[j] …

Kafka数据推送配置 | 如何设置账号密码验证?

背景&#xff1a;之前资产信息用网络接口进行数据推送&#xff0c;但是接口推送需要验证而且反应较慢。Kafak中间件提供了另一种可行的数据推送方式&#xff0c;它可以进行消息队列推送&#xff0c;且反应速度快。但是Kafka需部署在公网环境&#xff0c;并进行登录验证&#xf…

excel 动态列导出

excel动态列&#xff0c;只好用poi来写了&#xff0c;也并不复杂&#xff0c;一样就这个件事情抽像为几步&#xff0c;就是套路了&#xff0c;开发效率就上去了。 1 准备空模板 导出操作与excel模板的导出一样&#xff0c;可以参考excel导出标准化 2 自定义SheetWriteHandler …

网络信息安全:11个常见漏洞类型汇总

一、SQL注入漏洞 SQL注入攻击&#xff08;SQL Injection&#xff09;&#xff0c;简称注入攻击、SQL注入&#xff0c;被广泛用于非法获取网站控制权&#xff0c;是发生在应用程序的数据库层上的安全漏洞。 在设计程序&#xff0c;忽略了对输入字符串中夹带的SQL指令的检查&…

前端上传图片后如何回显图片

在前端上传图片后&#xff0c;可以使用以下几种方法进行回显&#xff1a; 1.使用FileReader API&#xff1a;这是一种常见的方法。在用户选择图片后&#xff0c;可以使用FileReader对象读取图片文件&#xff0c;并将其转换为Base64编码的字符串。然后&#xff0c;将该Base64字…

嵌入式学习 Day 30

消息队列、共享内存、信号灯: 1.IPC对象&#xff08;内存文件&#xff09; 1.ipcs 查看系统重的消息队列、共享内存、信号灯的信息 2.ipcrm 删除消息队列、共享内存、信号灯 ipcrm -Q/-M/-S key ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 2.消息队列 1.操作…

定时执行专家的主要功能和使用场景

定时执行专家是一款功能强大且实用的定时任务软件。它具有以下优点&#xff1a; 功能丰富: 支持多种定时模式、多种任务类型、丰富的触发方式、强大的日志功能等。易于使用: 操作界面简洁直观&#xff0c;易于上手。稳定可靠: 运行稳定可靠&#xff0c;可长期使用。 具体来说&…

【k8s管理--集群日志管理elk】

1、ELKF日志部署框架 使用docker部署的k8s集群所有的容器日志统一都在目录&#xff1a;/var/log/containers/1、filebeat是一个轻量级的日志手机工具&#xff0c;主要功能是收集日志2、logstash通可以收集日志&#xff0c;也可以进行数据清洗&#xff0c;但是一般不用logstash来…

WordPress 从入门到精通【设置 WordPress】

前言&#xff1a;为方便演示&#xff0c;前几张图使用 Playground 环境截取 如果你还不会部署WordPress&#xff0c;请看下面的链接并使用雨云可视化构建一个WordPress站点&#xff1a; 超简单EP面板搭建WordPress网站教程 - 风屿岛 10 (biliwind.com) 进入仪表盘 在搭建完…

面试问题总结(软实力相关)

最近在准备面试&#xff0c;整理一些面试常被问到一些非技术方面的软实力相关的&#xff0c;把这些问题烂熟于心&#xff0c;至少保证在回答的时候逻辑清晰。 1、自我介绍 需要展示你对这个目标岗位的理解&#xff0c;主动挖掘自己跟这个岗位的匹配点。 2、面试官反问&#xf…

分享Web.dev.cn中国开发者可以正常访问

谷歌开发者很高兴地宣布&#xff0c;web.dev 和 Chrome for Developers 现在都可以通过 .cn 域名访问&#xff0c;这将帮助中国的开发者更加容易获取我们的内容。 在 .cn 域名上&#xff0c;我们已向您提供所有镜像后的内容&#xff0c;并提供支持的语言版本。 Web.dev 中国开…

房屋中介服务平台的设计与实现(含源文件)

项目源码&#xff1a;https://gitee.com/oklongmm/biye2 在设计一个房屋中介服务平台时&#xff0c;我们需要考虑系统的可扩展性&#xff0c;易用性和稳定性。以下是系统设计的主要功能模块&#xff1a; 一、用户模块&#xff1a; 用户注册与登录&#xff1a;提供用户注册和登…

自然语言处理(NLP)练习题

问题&#xff1a;什么是自然语言处理&#xff08;NLP&#xff09;&#xff1f; 答案&#xff1a;自然语言处理&#xff08;NLP&#xff09;是一种人工智能技术&#xff0c;旨在让计算机理解和处理人类语言。NLP涉及语言学、计算机科学和人工智能等多个领域&#xff0c;旨在开发…