看见了一道二维数组找数的题,已排好序的数组(从左至右从上到下,都是由小变大的)让找数,瞬间就出思路了,并没有必要去看他的解释,两次二分就搞定了。

#include<cstdio>
#include<iostream> using namespace std;
void sreach(int num[][], int row, int line, int goal)
{
int i=,j=row-,mid;
while((j-i)>)
{
mid=(i+j)/;
if(num[mid][]>goal) j=mid;
else i=mid;
}
int a,b;
a = goal>=num[j][] ? j : i;
i=,j=line-;
while((j-i)>)
{
mid=(i+j)/;
if(num[a][mid]>goal) j=mid;
else i=mid;
}

if(num[a][b]!=goal){
cout<<"not found!"<<endl;
}


else cout<<a<<","<<b<<endl;

}
int main()
{
int n,m;
int number[][];
while(scanf("%d%d",&m,&n))
{
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&number[i][j]);
int x;
cin>>x;
sreach(number, n, m, x);
}
return ;
}
/*
6 6
1 2 3 4 5 6
10 12 15 16 18 21
22 23 26 27 29 30
32 33 34 35 36 37
40 41 43 44 47 50
50 51 55 56 57 58
5 5
1 2 3 4 5
10 12 15 16 18
22 23 26 27 29
32 33 34 35 36
40 41 43 44 47
*/

还有一道插入字符串,把空格都换成%D%,直接链表搞定,不让用链表就用JAVA的linkedlist写。一个函数就够了。

#include<cstdio>
#include<iostream> using namespace std; struct node
{
char data;
node *next;
}*root; // 指针没有盘空
void setuplist(char s[])
{
node *temp,*n;
n=root;
int i=;
while(s[i]!='\0')
{
temp = new node;
temp->next=NULL;
temp->data=s[i];
n->next=temp;
n=temp;
i++;
}
}
void insertwords()
{
node *n;
node *temp1,*temp2;
n=root->next;
while(n->next)
{
if(n->data==' ')
{
n->data='%';
temp1 = new node;
temp1->data = 'd';
temp2 = new node;
temp2->data = '%';
temp1->next=temp2;
temp2->next=n->next;
n->next=temp1;
}
else n=n->next;
}
}
void del(node *n)
{
if(n->next) del(n->next);
delete n;
}
int main()
{
char s[];
while(gets(s))
{
root = new node;
root->next = NULL;
setuplist(s);
insertwords();
node *t=root->next;
while(t->next)
{
cout<<t->data;
t=t->next;
}
cout<<endl;
del(root);
}
}

最新文章

  1. Jsp练习——连接数据库模拟登录
  2. jQuery 调用jsonp实现与原理
  3. CentOS系统没有javac命令
  4. MYSQL 一些用法
  5. WordPress搭建Personal Blog
  6. SQL Server索引进阶:第十级,索引内部结构
  7. 学习笔记:GLSL Core Tutorial – Vertex Shader(内置变量说明)
  8. mysql忘掉密码
  9. 用C语言做一个横板过关类型的控制台游戏
  10. Objective-C代码简写
  11. 通过本质看现象:关于Integer受内部初始化赋值范围限制而出现的有趣现象
  12. ER/数据库建模工具之MySQL Workbench的使用
  13. Jmeter也能IP欺骗!
  14. 00009 - cat、tail、head、tee、wc、sort文件操作和过滤
  15. python测试开发django-24.表单提交之get请求
  16. POI中setDefaultColumnWidth方法不起作用的原因
  17. js字符串转换成数字,数字转换成字符串
  18. 对C++虚函数使用默认参数的注意事项
  19. 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
  20. 标签种类及CSS引入方法

热门文章

  1. PHP switch分支语句中省略break后还会执行其他case的原因分析
  2. C#设计模式--抽象工厂模式(创建型模式)
  3. python标准库 - socket
  4. ModuleNotFoundError: No module named &#39;yaml&#39;
  5. hp zbook15G2 nVidia K1100M显卡在ubuntu linux下闪屏问题
  6. 硬件-ESP32S模块资料
  7. 了解iOS上的可执行文件和Mach-O格式
  8. react里面Fragments的使用
  9. linux命令之awk命令
  10. ios 创建自己的.a文件