笨方法:)
你设个标志,输入一个普通字符加1,backspace键和del键记为-1,移动方向键和空格键记为0;
如,例中的str1为wang,长度为4,
w <-b w a n g g g <-b <- del 字符对应的值分别为:
1 -1 1 1 1 1 1 1 -1 0 -1
当累计到第一个字母g时标志就为4了,但这时你应该继续往后计算,到del时标志又为4了,再往后计算,直到标志不能再小于等于4为止,最后一次为4时的位置就是str1的结束位置。这样依次类推
临时想的法,莫见笑:)
你设个标志,输入一个普通字符加1,backspace键和del键记为-1,移动方向键和空格键记为0;
如,例中的str1为wang,长度为4,
w <-b w a n g g g <-b <- del 字符对应的值分别为:
1 -1 1 1 1 1 1 1 -1 0 -1
当累计到第一个字母g时标志就为4了,但这时你应该继续往后计算,到del时标志又为4了,再往后计算,直到标志不能再小于等于4为止,最后一次为4时的位置就是str1的结束位置。这样依次类推
临时想的法,莫见笑:)
解决方案 »
- MFC Socket支持隐藏一个线程
- 有关快捷键的问题
- vc 中读xml中的&就变成了_,在线急等。
- 为什么不能显示MessageBox消息框??
- 通过 ctrl+shift+left可以选中当前光标左边的单词,我怎么通过程序实现这个过程呢(选中光标左边的单词)?
- 用过InstallShield for VC++的朋友请进来,问几个常见问题
- *** 各位高手:(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_CONTROL) 以上的手动操作变成VC6自动执行(按下控制键Ctrl)怎么写??
- VC里面如何找到窗口句柄?
- 请教:在线游戏的服务器端程序设计(并发多服务的TCP服务器的算法设计)!
- 请问用mciSendString这个函数时要包括那些头文件?怎么老说我没定义?
- 为什么我看不到我给别人的得分?
- win 函数和win sdk是一样的吗?不一样的话,有何区别?
用你这种办法效率太低了,每计算一个词位置的都要从新序列的开始判断到尾部(虽然序列一次比一次短),难道没有更好的办法吗?
2. 建立栈B,用于保存无法执行的左移,退格操作
3. 建立一个buf用于保存将要pop出的操作组成的字符串
4. 检查B的栈顶操作对于buf是否可执行,
如可以,则执行,goto 4
5. B栈顶的操作不能执行,
如栈A为空,goto 6
栈A非空,pop A
如为字符,加入到buf的首部,
如果此时buf组成的词与输出序列的最后一个词相同,且栈B为空,
得到最后一个词的首尾位置,从输出序列中删除该词,goto 4
如为退格等操作,压入栈,goto 4
6. the end要睡觉了,写得比较乱,不过应该是可以用的。