摘要:
有双向循环链表结点定义为:struct node{ int data; struct node *front,*next;};有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除。用两个向量A_vec、B_vec分别存储链表A、B的元素值,将A_vec、B_vec排序,用类似归并排序的方法把A_vec、B_vec中值相同的元素放到向量common_vec中。分别遍历链表A、B,用二分查找法查看每个节点元素是否在common_vec中。// 链表结点
template <typename T>
class dc_list_ 阅读全文
阅读排行榜
面试题─用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列
2012-06-22 20:12 by iamzhaiwei, 508 阅读, 收藏,
摘要:
用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,如:512234、412325等,要求:"4"不能在第三位,"3"与"5"不能相连。// str: 字符串
// begin: 字符串第一个字符的索引
// end: 字符串最后一个字符的索引
// cnt: 统计全排列的数目,调用之前赋值为0
void string_full_permutation_containing_duplicate_char(char *str, int begin, int end, int &cnt)
{ if (be 阅读全文
Linux多线程──3个子线程轮流运行
2012-07-10 21:49 by iamzhaiwei, 507 阅读, 收藏,
摘要:
迅雷笔试题:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。程序:#include <pthread.h>
#include <cstdio> const int THREAD_NUMBER = 3; // 子线程的互斥量和条件变量
pthread_mutex_t thread_mutex[THREAD_NUMBER];
pthread_cond_t thread_cond[THREAD_NUMBER]; // 子线程是否正在等待
bool threa 阅读全文
Linux多线程──主线程和子线程分别循环一定次数
2012-07-08 20:54 by iamzhaiwei, 500 阅读, 收藏,
摘要:
子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次,试写出代码。要注意条件变量的自动复位问题。参看这篇文章:Linux 的多线程编程的高效开发经验代码:#include <pthread.h>
#include <stdio.h> // 互斥锁,条件变量
pthread_mutex_t mutex;
pthread_cond_t cond; // 循环次数
int main_count = 0;
int subthread_count = 0; // 线程等待标志
bool main_thread_wai 阅读全文
谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
2012-06-21 19:47 by iamzhaiwei, 472 阅读, 收藏,
摘要:
谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。Google2009华南地区笔试题给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。比如,A=[1,0] K=21 那么输出结构应该为100。// 一个从小到大排序的整数数组,元素都是在[0,9]之间的数字,但未必全部包含
// 用数组中的数字(可以重复)组成一个最小的给定位数的正整数
int generate_min_ 阅读全文
浙公网安备 33010602011771号