冒泡排序,每次循环选出一个最大/最小的数在队伍的末端,循环n-1次 1 # include 2
3 int main (void) 4 { 5 int a[10]; 6 int i, j, t; 7 8 printf("请输入10个整数:"); 9 10
...
分类:
编程语言 时间:
2014-05-30 03:10:52
阅读次数:
336
出题:
输入一个数字矩阵,要求从外向里顺时针打印每一个数字;分析:从外向里打印矩阵有多重方法实现,但最重要的是构建合适的状态机,这样才能控制多重不同的操作;注意有四种打印模式(左右,上下,右左,下上),所以需要一个index变量控制每次循环时执行的打印模式;注意水平打印和垂直打印分别需要两个变量控制...
分类:
其他好文 时间:
2014-05-26 10:55:14
阅读次数:
318
【题目】
Implement pow(x, n).
【题意】
实现pow(x, n)
【思路】
最直接的思路是用一个循环,乘n次的x。
当n的值较小的时候还好,当n非常大时,时间成本就非常高。加入n=INT_MAX, 也就是21亿多次循环,你可以试想一下。
在这种情况下,我们需要快速的乘完n个x,采用尝试贪心的方法,即滚雪球方式的翻倍相乘
注意:几种特殊情况
1. n=0;
2. n<0;...
分类:
其他好文 时间:
2014-05-26 04:37:31
阅读次数:
212
1、算法思想描述: 1)将相邻的两个数进行比较,如果前面的一个大于后面的一个,则将他们交换。每次循环能使一个数达到有序状态。2、时间复杂度: 平均O(n^2)3、实现及优化。以下给出三种实现方式/*
* bubblesort.cpp
*
* Created on: 2014年5月17日
* Author: pc
*/
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-18 15:34:55
阅读次数:
198
>__=100)MyPaint(hdc);
//tPre前次绘图的时间;计算上次绘图到这次循环之间的时间13 } //------------|若相差100个单位进行一次绘图操作,通过这14 } ...
前面提到过很多次大整数的问题,这个是真正的大整数。
我用了一个很蠢得方法,先写一个大整数和一个个位数相乘的方法,返回的结果是一个string,然后写一个string相加的方法,每次循环,用其中一个数的每一位去乘另一个数,然后加到结果上。。
多么愚蠢的思路,居然还一遍过了。。一个更好的方法是先用两个int数组把两个string存一下,每位占数组中的一个数,然后再用一个int数组保存结果,每次也是...
分类:
其他好文 时间:
2014-05-15 14:55:51
阅读次数:
322
一开始没看清题,以为让当场求数独呢,吓得一直没敢做。后来发现这个题原来如此之简单,只要判断现在棋盘上的数字满不满足情况要求就可以了。
这不就是三次循环吗。。看看每一行满不满足,每一列满不满足,每个小的3*3的格子满不满足就行了。每个小3*3格子我是用求得左上角的方法来验证的。
其实觉得数独难还有一个原因是记得他在编程之美上出现过。。那上面讨论的主要是怎样构造一个数独,具体记不太清楚了,印象最深...
分类:
其他好文 时间:
2014-05-15 03:19:11
阅读次数:
185
题目:n个人编号分别是1,2,3,...,n,围坐在一张圆桌周围,从编号为k的人开始报数,数到m的人出列。然后他的下一个人开始报数,数到m的那个人又出列;依次循环,直到所有人出列。struct
LNode{ int data; LNode *next;};//n为总人数,k为第一个开始报数的人,.....
分类:
其他好文 时间:
2014-05-09 18:01:58
阅读次数:
386
一 串行模式和并行模式 一般一个服务应用程序采用以下两个架构模型之一:串行模式
一个线程等待一个客户发出的请求,当请求到达的时候,线程会被换醒来处理客户的请求。并发模式。一个线程等待一个客户发出的请求,当请求到达的时候,线程会创建一个新的线程来处理客户的请求,而当前线程则会进入下一次循环继续等待.....
分类:
其他好文 时间:
2014-05-07 00:22:59
阅读次数:
309
抽掉中间的WUB字符串。这个是用C++总是有点难度的。
本题还算简单的了,只要注意中间插入空格符就好了。
这里虽然是用了二次循环,但是实际时间效率是O(n)...
分类:
其他好文 时间:
2014-05-01 17:52:40
阅读次数:
375