C语言
hzf-2017
程序员
展开
-
获取单链表的倒数第k个节点的三种办法
问题描述:输入一个链表,输出该链表中倒数第k个结点。struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }方案一:暴力方法:class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if (!pListHead原创 2020-08-06 23:26:29 · 1032 阅读 · 0 评论 -
C++使用stl相关库文件时显示未声明
问题描述:C++导入并且使用hash_map,hash_set时报错提示未声明原因:相关命名空间在__gnu_cxx解决办法,添加using namespace __gnu_cxx;原创 2020-08-01 22:21:33 · 273 阅读 · 0 评论 -
vsCode报错cygwin.s
报错原因:栈溢出解决方法,将数组改为指针,即:int a[1000] --> int* a = new int[1000];原创 2020-07-08 16:09:04 · 1434 阅读 · 0 评论 -
LCS-动态规划算法详解
LCS 思想讲解:#include<iostream>#include<string.h>using namespace std;/** * @param {type} string X I am argument string X. * @param {type} string Y I am argument string Y. * @param {type} int **B 存储方向变量-B[i][j]表示C[i][j]的值是由哪个子问题得到的. * *原创 2020-06-22 23:36:34 · 658 阅读 · 0 评论 -
POJ1003-C++
POJ1003问题描述:How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We’re assuming that the cards must be perpendicular to the table.) With two cards you can make the top car原创 2020-05-19 21:19:22 · 222 阅读 · 0 评论 -
POJ1002-C++
POJ1002问题描述:Businesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can call the University of Waterloo by dialing the memorable TUT-GLOP. Sometime原创 2020-05-19 21:16:48 · 266 阅读 · 0 评论 -
POJ1001-C++
POJ1001文章目录POJ1001题目描述:代码:题目描述: DescriptionProblems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many computer systems.This p原创 2020-05-19 21:14:30 · 461 阅读 · 0 评论 -
求无重复字符串的最大子串(滑动窗口,哈希优化,桶优化)力扣第三题
class Solution {public: int lengthOfLongestSubstring(string s) { /*滑动窗口方法*/ /* 原理: 指针start,end分别指向子串的首尾,end不断向末尾扩展 tmChar记录当前子串end新移动到的位置的值 若在star...原创 2020-03-23 23:56:31 · 291 阅读 · 0 评论 -
leetcode求两数之和
class Solution{ public: vector<int> twoSum(vector<int>& nums, int target){ unordered_map<int, int> m;//定义一个哈希表 for(int i=0; i<nums.size(); i++){ ...原创 2020-03-23 20:55:22 · 160 阅读 · 0 评论 -
RSA对称加密C++实现
学习物联网安全,让自己实现以下非对称加密算法RSP算法根据原理进行Coding的时候发现由于太长时间不进行Coding,所以很是手生于是万能的百度起来,但是发现网络上面的代码过于复杂,不太适合强行Coding,尤其是对于我这种懒得逐句理解的人来说因为根据原理简单的Coding了一下,能够简单的实现RSP加解密当然中间有一点内存空间不对称导致的乱码问题,,,,这都是小问题,能看就行...原创 2020-03-14 00:12:37 · 585 阅读 · 1 评论 -
C++二叉树总结(包含源码)一
#include<iostream>#include<string>#include<list>#include<cmath>#include<hash_map>using namespace std;class Node{ public: Node(int data){ t...原创 2020-03-08 22:20:18 · 161 阅读 · 0 评论 -
将单链表中的元素重新排列,小的在左边,相等的在中间,大的在右边(优化算法-C++)
/** @Author: hzf* @Date: 2020-03-01 22:24:23* @Last Modified by: hzf* @Last Modified time: 2020-03-01 22:59:53*//* 一般方法: 在数组中进行快排,然后放入单链表中*//*优化算法 通过六个变量实现单链表中小于num的数字在左边,等于在中间,大...原创 2020-03-01 23:02:42 · 319 阅读 · 0 评论 -
打印两个链表的公共部分-C++实现
/*打印两个链表的公共部分 方法: 指针分别指向两个链表的首部,谁小谁移动到下一个,如果相同那么打印并且两个指针都移动*/#include <iostream>using namespace std;struct Node{ int value; struct Node* next;};typedef struct Node* Linklist;Link...原创 2020-03-01 22:02:42 · 563 阅读 · 0 评论 -
桶排序详解以及优化C++代码
/** @Author: hzf* @Date: 2020-02-29 20:47:49* @Last Modified by: hzf* @Last Modified time: 2020-02-29 21:36:01*//* 桶排序 原理: 准备有限个桶,将一系列数字分批次,按照要求放入桶内,再按照顺序取出 根据数组中的最大数的位数确定取放几次,根据个位、十位、百...原创 2020-02-29 21:36:42 · 756 阅读 · 0 评论 -
堆排序原理及详解
/** @Author: hzf* @Date: 2020-02-29 18:04:43* @Last Modified by: hzf* @Last Modified time: 2020-02-29 18:48:56*//*原理:什么是堆?——完全二叉树什么是大头堆?——父节点是最大值二叉树的特点: index下标的左孩子下标:2*index + 1 i...原创 2020-02-29 18:49:48 · 508 阅读 · 0 评论 -
快速排序详解
/** @Author: hzf* @Date: 2020-02-28 20:52:55* @Last Modified by: hzf* @Last Modified time: 2020-02-28 21:46:53*//*原理:问题一:将一系列数字进行处理,使得大于num的数字在数组左边,小于num的数字位于数组右边解决方法:将数组划分为左边,右边两部分,...原创 2020-02-28 21:49:40 · 131 阅读 · 0 评论 -
从长度为n的序列中找出平均值最大的长度不小于L的连续序列
/** @Author: hzf* @Date: 2020-02-24 11:22:45* @Last Modified by: hzf* @Last Modified time: 2020-02-24 11:35:02*/#include <stdio.h>int GetAverage_MaxLength(int *a, int n, int l)//*a表...原创 2020-02-24 11:37:51 · 1425 阅读 · 0 评论 -
求一个数组的最小和问题
#include<iostream>using namespace std;void Swap(int *arr, int i, int j){ arr[i] ^= arr[j]; arr[j] ^= arr[j]; arr[i] ^= arr[j];}int GetLength(int *arr){ return (sizeof(arr) / sizeof(...原创 2020-02-05 17:08:33 · 917 阅读 · 1 评论 -
归并排序-C++实现
#include<iostream>using namespace std;void Swao(int *arr, int i, int j){ arr[i] ^= arr[j]; arr[j] ^= arr[j]; arr[i] ^= arr[j];}int GetLength(int *arr){ return (sizeof(arr) / sizeof(...原创 2020-02-05 16:40:57 · 105 阅读 · 0 评论 -
找出数组中奇数次出现的元素(唯二出现)-C++实现,有详细讲解
#include<iostream>using namespace std;int GetLength(int *arr){ return (sizeof(arr) / sizeof(arr[0]));}void Swap(int *arr, int i, int j){ arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ a...原创 2020-02-05 15:00:05 · 616 阅读 · 0 评论 -
找出数组中奇数次出现的元素(唯一出现)--C++实现
#include<iostream>using namespace std;int GetLength(int *arr){ return (sizeof(arr) / sizeof(arr[0]));}void Swap(int *arr, int i, int j){ arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ a...原创 2020-02-05 14:58:42 · 632 阅读 · 0 评论 -
选择排序-C++实现
#include<iostream>using namespace std;int GetLength(int *arr){ return (sizeof(arr) / sizeof(arr[0]));}void Swap(int *arr, int i, int j){ arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ a...原创 2020-02-05 14:57:11 · 69 阅读 · 0 评论 -
冒泡排序-C++实现
#include<iostream>using namespace std;int GetLength(int *arr){ return (sizeof(arr) / sizeof(arr[0]));}void Swap(int *arr, int i, int j){ arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ ...原创 2020-02-05 14:55:38 · 143 阅读 · 0 评论 -
C语言基础——判断与循环 ——循环篇
C语言基础——判断与循环——循环篇目录回顾:一、定义二、循环讲解(一)while循环1.语法格式:2.举例(二)do-while循环1.语法格式2.举例,执行三次“我爱×××”(三)for循环:1.语法格式2.举例,输出1-10(四)最后通过一个代码小结一下判断和循环,同时讲一下continue的用法:最后的最后:回顾:...原创 2019-07-28 13:50:58 · 2518 阅读 · 1 评论 -
初始C语言
初始C语言一、什么是C语言?用专业点的话来说就是:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据...原创 2019-07-23 14:02:48 · 305 阅读 · 9 评论 -
C语言基础——判断与循环(1)
C语言基础——判断与循环 ——判断篇目录回顾:一、判断篇(一)if判断(二)else if(三)Switch、break语句(四)If嵌套(五)Continue语句二、循环篇:回顾:上一篇章中,我们很正经的了解了C语言的表达式的相关内容,同时结合代码分析了各种类型的表达式的用法。其中在讲到判断表达式的时候...原创 2019-07-27 13:00:50 · 433 阅读 · 2 评论 -
C语言基础——表达式
目录回顾:一、定义概念:二、表达式的分类举例说明:(一)首先是加、减、乘、除、取余四种表达式:(二)一元表达式(三)强制转换表达式(四)判断表达式(五)逻辑表达式(六)移位表达式小结写在最后:回顾:在上一篇博客中我们通过一个羞羞的小故事了解了什么“常量”什么是“变量”。我们了解到了变量有什么用,应该怎么使用。对,变量可以用来表示一个常量,可以...原创 2019-07-26 12:46:27 · 14408 阅读 · 3 评论 -
C语言基础之——变量篇
C语言基础之——变量篇目录C语言基础之——变量篇回顾:一、变量and常量(一)什么是变量?什么是常量?(二)举例说明变量有什么用,该怎么用二、scanf语句(一)是什么(二)有什么用(三)怎么用小结:数据类型回顾:在上个篇章中,我们简单的了解了如何利用编译器(Dev)建立项目,如何在项目中添加文件,简单的给大家介绍了什么是函数,带大家认...原创 2019-07-25 14:40:29 · 826 阅读 · 0 评论 -
C语言基础——“hello word”篇
C语言基础——“hello word”篇在昨天的教程中,大家已经对C语言有了简单的了解。但是对于我们新人来说,光是了解什么是C语言是不够的,我们要学会怎么利用C语言进行编程,在学习编程的过程中逐渐提高自己的逻辑思维能力。话不多说,今天带大家认识程序员接触地第一个代码“hello word”。无论学习什么高级语言,都要先让他和这个世界打招呼“你好,世界”。在今天的教程中会教大家学会利用编译器...原创 2019-07-24 14:06:34 · 6583 阅读 · 4 评论