20150427堆排序、网页、字符串简介

一.堆与堆排序

1.查找最大值最小值,堆排序最快


三.字符串概念

1.字符串结束必须有\0,不然会出现烫烫烫(字符串数组默认比数组长一个字节,自动加入\0),也可以用putchar输出

	char str[5] = { 'a', 'b', 'c', 'd', '\0' };
	printf("%s", str);//整体显示必须要有‘\0’
</pre><pre code_snippet_id="1715918" snippet_file_name="blog_20160613_3_6513793" name="code" class="html">
<pre name="code" class="html">	char str1[5] = { 'a', 'b', 'c', 'd', 'e' };//单个显示
	for (int i = 0; i < 5;i++)
	{
		putchar(str1[i]);
	}

 2.使用指针移动位置打印出字符串 
void main5()
{
	char *p = "iloveyou";
	//指针循环输出字符的办法
	p = p + 5;//指针的位置决定从哪里开始
	for (char*pbegin = p; *pbegin != '\0';pbegin++)
	{
		putchar(*pbegin);
	}

	system("pause");

}

3.代码区内容不能修改

<span style="font-size:24px;">void    main()
{
	char *p = "iloveyou";
	printf("%s", p+1+4);//改变指针的位置输出不同的字符


	p[3] = 'X';//*(P+3) 代码区不允许修改
	*(p + 4) = 'Y';


	system("pause");
}</span>


五.字符串的比较

1.char  *p="123"      不能*p=“”改变*p内容,因为*P在代码区

char  str[100]=“123”  可通过str="abc"改变str内容,因为str在静态区


七.strlen、strcpy、strstr

strlen:返回一个字符串的长度,不包括\0

strcpy:拷贝字符串,第一个参数是目标字符串,第二个参数是要拷贝的对象,返回值是第一个参数的地址

strstr:查找第二个参数是否在第一个参数内,如果找到返回地址

strcpm:判断两个字符串大小,等于返回0,大于返回1(如A>B)小于返回-1

strtok:分解字符串为一组字符串,strtok("abc,def,ghi",","),最后被分割为abc def ghi.

strtol:从前往后读取数字,遇到非数字终止,10代表禁止

Java编程考试常出现的题型包括以下几种: 1. 字符串操作题:要求学生实现字符串的常见操作,比如字符串的拼接、反转、替换、查找等。此类题目考察学生对字符串的基本掌握程度以及对字符串操作方法的熟练度。 2. 线性表、栈、队列和链表题:考察学生对这些数据结构的理解和熟练应用能力,比如实现这些数据结构的基本操作、应用场景分析等。 3. 树结构题:要求学生实现二叉树的遍历、查找等操作,或者实现树的相关算法,比如构建哈夫曼树等。 4. 排序算法题:要求学生实现常见的排序算法,比如冒泡排序、快速排序、堆排序、归并排序等,并分析其时间复杂度。 5. 查找算法题:要求学生实现常见的查找算法,比如二分查找、哈希查找等,并分析其时间复杂度。 6. 分治算法题:要求学生实现常见的分治算法,比如归并排序、快速排序等,并分析其时间复杂度。 以下是一些示例题目及其答案: 1. 字符串操作题: 题目:将一个字符串中所有的空格替换为"%20"。 答案:可以先遍历字符串,记录空格的数量,然后计算出替换后的字符串长度,从后向前进行替换。 2. 线性表题: 题目:实现一个栈,要求支持入栈、出栈和获取栈顶元素的操作。 答案:可以使用数组或链表来实现栈,入栈操作即在栈顶插入元素,出栈操作即从栈顶删除元素,获取栈顶元素操作即返回栈顶元素。 3. 树结构题: 题目:实现一个二叉树的前序遍历。 答案:前序遍历的顺序是根节点、左子树、右子树。可以使用递归或者栈来实现前序遍历。 4. 排序算法题: 题目:实现一个快速排序算法。 答案:快速排序的基本思路是选择一个基准元素,将小于基准元素的数放在其左边,大于基准元素的数放在其右边,然后对左右两部分分别递归进行快速排序。时间复杂度为O(nlogn)。 5. 查找算法题: 题目:实现一个二分查找算法。 答案:二分查找的基本思路是将数组分成左右两部分,若查找元素小于中间元素,则在左半部分继续查找,否则在右半部分查找,直到找到或者查找区间为空。时间复杂度为O(logn)。 希望这些信息能够对你有所帮助,祝你考试顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值