- 浏览: 6410 次
- 性别:
- 来自: 珠海
最新评论
文章列表
括号匹配
括号匹配问题主要是栈的运用。输入一串由[,],(,),{,}组成的字符串,判断其是否匹配,如[],[()]是匹配的,而[{]等则不匹配。
代码可以这样:
#include<iostream>
#include<stack>
#include<string>
using namespace std;
bool brackets(string s);
int main()
{
string s;
while(cin>>s)
{
if(brackets(s))
cout<<" ...
无向图点的度数
Description:
给出一个无向图,求其各点的度数.
第一行输入n,表示点的个数,接下来又n行,每行有n列,如果点之间连通,则用1表示,否则用0表示。
例:
input:
2
0 1
1 0
3
0 1 1
1 0 0
1 0 0
output:
1 1
2 1 1
分析:这道题还是比较基础的,可以用一个一维数组存储各点的度数,最后输出,代码如下
#include<iostream>
using namespace std;
int a[100][100];
int b[100];
int main()
{
int t;
cin& ...
简单哈希
Description
使用线性探测法(Linear Probing)可以解决哈希中的冲突问题,其基本思想是:设哈希函数为h(key) = d, 并且假定哈希的存储结构是循环数组, 则当冲突发生时, 继续探测d+1, d+2…, 直到冲突得到解决.
例如, 现有关键码集为 {47,7,29,11,16,92,22,8,3},
设:哈希表表长为m=11;哈希函数为Hash(key)=key mod 11;采用线性探测法处理冲突。建哈希表如下:
现在给定哈希函数为Hash(key)= key mod m,要求按照上述规则, 使用线性探测法处 ...
插入排序
Description
插入排序是一种十分常见的排序方法。其基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是一种稳定的排序方法。请你结合数据结构所学知识,实现这种排序方法,并将每一轮的排序结果输出。
Input
第一行输入整数N(1<=n<=100)代表待排序的数据个数。
接下来一行中有N个整数,代表待排序的数据。
Output
第一行输出原始的数据顺序,接下来每一行输出一趟排序的结果(如果顺序没有改变则不输出),直至排序完成,从而实现数据的升序排列。
...