C数据结构面试题 以及答案
面试2.9W
做了这么多年java,做java偏向于应用,都用别人的插件和jar包。现在面临毕业,大公司技术笔试离不开数据结构,整理了下别人的题目。然后自己做了下。写这里留纪念,也希望对大家有帮助!
程序都在MinGW上跑通,VC我不知道。。
1.把一个链表反向
#include
{   
int num;
struct List *next;
}test;
test *create_list()
{
test *head;
test *first;
test *temp =NULL;
first=head=new test;
for(int i=0;i<10;i++)
{
head->num=i;
temp=new test; //偷懒,用C++的new了,C用内存分配函数
head->next=temp;
temp->next=NULL;
head=temp;
}
return   first;
}
void print(test *head)
{
while(head->next!=NULL)
{
printf("%d",head->num);
head=head->next;
}
}
test *change_list(test *head)
{
test *temp,*sixer;
temp=head->next;
head->next=NULL;
while(temp->next!=NULL)
{
sixer=temp->next;
temp->next=head;
printf("%d-head-",temp->num);
head=temp;
temp=sixer;
printf("%d-temp-",temp->num);
}
temp->next=head;
return temp;
}
int   main()
{
test *onelist;
onelist = create_list();
print(onelist);
onelist = change_list(onelist);
print(onelist);
}
2.  一个二叉树的三种遍历方法的输出结果
前序遍历,先根接点。中序,根左边的根右边的,例子:
abdgcefh,中序遍历访问顺序是dgbaechf,则其后续遍历的结点访问顺序是
a为根,dgb为左子树,echf为右子树
接下来看左子树的'前序遍历为bdg
b首先被访问
可以知道b为左子树的根,与a相连
再看左子树的中序遍历dgb
d和g都在b之前就被访问
所以b和g应该在b的左子树上
而dg的确定再根据前序遍历
d先被访问
则d为根
再看中序遍历也是d先被访问
可以确定g为d的右子树
左边就可以确定出来了
如果上面看懂了
右边就很简单,一样的道理
前序遍历cefh
确定c为右子树的根
再看中序遍历echf
e为c的左子树,hf为c的右子树
hf的确定在看前序遍历f先被访问
f为根
中序遍历h先被访问
h为f的左子树
整棵树就出来了
3.
百度
4.递归的折半查找算法
#include
void creat(int a[])
{
for(int i=0;i<10;i++){
a[i]=i;
}
}
void print(int a[])
{
for(int i=0;i<10;i++){
printf("%d-",a[i]);
}
}
int Search(int a[],int key,int left ,int right)
{
int mid; 
while(left<=right){ 
mid = (left+right)/2; 
if(key==a[mid]){ 
return mid; 
} 
else if(keyright = mid-1; 
return Search(a,key,left,right); 
} 
else{ 
left = mid+1; 
return Search(a,key,left,right); 
} 
}        
return -1;  
}
int main()
{
int a[10];
int i;
creat(a);
print(a);
int key;
cin>>key;
int left = 0; 
int right = 10; 
i=Search(a,key,left,right);
printf("%d->%d",i,a[i]);
return 1;
}
of()和strlen()的使用.
sizeof比特字节数长度。strlen长度比如char a[2]={1,2} 吗sizeof是2,strlen是3包括了/0而且sizeof是可以测int a[]这种的int a[2]={1,2} 的sizeof是8.2个4字节int。
-
【荐】面试自我评价
在平时的学习、工作或生活中,我们经常会被要求写一份自我评价,自我评价是个人对自己思想、愿望、行为和个性特点的判断和评价。那么你有了解过自我评价吗?以下是小编收集整理的面试自我评价,欢迎阅读,希望大家能够喜欢。面试自我评价1【财务面试自我评价范例一】具...
-
面试的注意事项(精选15篇)
面试的注意事项1当我们在一个岗位上时间过长,已经到达瓶颈阶段不太能学到东西,自身也得不到提升之后,我们可能会开始考虑是否要跳槽换一个新环境以寻求一个更好的发展平台。那么,跳槽面试有没有什么特别需要注意的地方呢?下面就让小编带你去看看跳槽面试应该注意事...
-
实习护士面试
实习护士面试1其实加入生活部的自我介绍并不困难,保持清新自然最重要,重点是通过自我介绍提出你的观点,体现你自信、谦虚、稳重、吃苦耐劳的优点,要写出你在哪方面是个能手,在这整个过程中最主要的就是一个字:稳。1、你的人生态度,最好能引用几句少人知道的`哲言。2、...
-
大学学生会面试演讲稿合集11篇
通过对演讲稿语言的推究可以提高语言的表现力,增强语言的感染力。在充满活力,日益开放的今天,演讲稿使用的情况越来越多,还是对演讲稿一筹莫展吗?下面是小编精心整理的大学学生会面试演讲稿,希望对大家有所帮助。大学学生会面试演讲稿1尊敬的老师,亲爱的同学们大家晚...