算法
冲冲冲,架构师
思想被流放,灵魂无处安放。
展开
-
C++实现自顶向下的二路归并排序
#include<stdio.h>#include<malloc.h>void disp(int a[],int n){int i;for(i=0;i<n;i++){printf("%d “,a[i]);}printf(”\n");}void Merge(int a[],int low,int mid,int high){int *tmpa;...原创 2019-10-23 21:31:11 · 680 阅读 · 0 评论 -
C++实现快速排序
#include <stdio.h>#includeusing namespace std;void disp(int a[],int n){int i;for(i=0;i<n;i++)printf("%d “,a[i]);printf(”\n");}int Partition(int a[],int s,int t){int i=s,j=t;int t...原创 2019-10-23 21:29:49 · 199 阅读 · 0 评论 -
nt * p = (int *)malloc(sizeof(int));是什么意思?
int * p = (int *)malloc(sizeof(int)); 这条语句 应该怎么理解啊 对于动态分配我还不是太理解 。从内存角度他是怎么分配的?malloc()函数的作用是分配制定字节数的空间sizeof()为单目运算 求出对应类型所占用的字节数(类型名)为单目运算 为强制类型转换要注意的是 malloce函数申请得到的空间是无类型的空间 必须强制转换成对应指针可以指向的空间...原创 2019-10-23 21:27:25 · 17750 阅读 · 3 评论 -
一个字符串采用string对象存储,设计一个算法判断该字符串是否为回文。
一个字符串采用string对象存储,设计一个算法判断该字符串是否为回文。求解思路:首先我们要知道回文是正着念和倒着念一样的,定义一个string类型的字符串,然后让他首(递增)尾(递减)比较,如果不相等就返回错误,否则返回正确。include include using namespace std;bool solve(string str){int i=0;int j=str.l...原创 2019-09-17 10:31:38 · 5512 阅读 · 0 评论 -
有一个整数序列,设计一个算法判断其中是否存在两个元素的和恰好等于给定的整数k
方法一:先让整数k减a[0]等于key,然后再用二分法在整数序列里查找是否存在key,找到返回真,否则返回假。#include <bits/stdc++.h> //C++万能头using namespace std;const int maxn=1e5+10;bool find(int *a,int n,int key,int i){int left=i+1,right=n...原创 2019-09-17 10:54:28 · 7261 阅读 · 0 评论 -
有两个整数序列,每个整数序列中的所有元素均不相同,设计一个算法求它们的公共元素。
求解思路:利用set< int >容器存储数组,记住集合里的元素都是默认递增排序的,然后利用迭代器让两个集合从首元素依次比较,如果相等就把该元素存到定义的第三个set容器s3中,如果it1小于it2,it1++(元素都是递增排序的),如果it1大于it2,it2++就可以了。#include<stdio.h>#include< set >using nam...原创 2019-09-17 20:14:20 · 3859 阅读 · 0 评论