【无标题】


前言

我近期学习的一些小心得。

一、链表的使用

二、一些小技巧

1.先遍历记录链表的长度(我目前没有学习到一些函数去获取链表的长度)

代码如下:

int length(linklist head)//我定义的链表的名称是*linklist;
{
	linklist p;
	int i=0;
	p=head;
	while(p)
	{
		i++;
		p=p->next;
	}
	return i;
	
}

2.链表对于数据的排序是比较麻烦的,因此我们可以利用链表和数组之间的转换,使用c++中的sort快排函数达到极大缩短时间的操作(时间是nlog2n);

代码如下(示例):

void insert(int x,linklist head)/*链表的插入与排序(利用链表与数组数据之间的转换,
 								极大的压缩了排序的时间);*/ 
{
	linklist p,new_node=NULL;
	head->score=0;
	p=head->next;
	new_node=(linklist)malloc(sizeof(linklist));
	new_node->score=x;
	new_node->next=p->next;
	p->next=new_node;
	for(int i=0;i<len;i++)
	{
		zjx[i]=p->score;
		p=p->next;
	}
	sort(zjx,zjx+len);//c++中的函数;
	p=head->next;
	for(int i=0;i<len;i++)
	{
		p->score=zjx[i];
		p=p->next;
	}
}

一、单片机的中断以及计时器;

二、TMOD(计时器)通常只需要使用16位工作的计时器TMOD=0x01(第二重工作方式);

三、中断的使用

	TMOD=0x01;
	TH0=(65536-50000)/256;//初始时长初始化;
	TL0=(65536-50000)%256;
	EA=1;//申请总中断;
	ET0=1;//对定时器相应的位置进行中断
	TR0=1;//打开该定时器0;TR0=0时,打开定时器1;
	
	void timer0() interrupt 1 //自定义中断函数,后面需要加interrupt 1;
{
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	//下面的空白就是你中断后需要去处理的实践;
	
}

1.合理的使用延时函数,可以实现很多小功能。

总结

还有一些零零散散的知识就没写上来;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值