第二周周报

一、本周任务

1、洛谷刷题
2、c语言学习
3、面试题整理

二、所学内容

1、选择排序

#include<stdio.h>
int choose(int a[],int len)
{
	int i,j;
	for(i=0;i<len-1;i++)
	{
		int key=i;
		for(j=i+1;j<len;j++)
		{
			if(a[j]<a[key])
			{
				key=j;
			}
		}
		if(key!=i)
		{
			int temp;
			temp=a[key];
			a[key]=a[i];
			a[i]=temp;
		}
	}
}
int main(void)
{
	int i;
	int a[5]={45,12,9,65,2};
	int len=sizeof(a)/sizeof(a[0]);
	choose(a,len);
	for(i=0;i<len;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}

首先选定第一个元素,从后面的元素中找一个最小或最大的和他交换,依次进行。

直接插入排序

#include<stdio.h>
int cut(int a[],int len)
{
	int i,j;
	for(i=1;i<len;i++)//从第二个元素开始
	{
		if(a[i]<a[i-1])
		{
			int temp=a[i];//需用一个临时变量来储存,因为a[i]在变,所以要把每一次的单独存放
			for(j=i-1;j>=0&&a[j]>temp;j--)
			{
				a[j+1]=a[j];
			}
			a[j+1]=temp;
		}
	}
}
int main(void)
{
	int i; 
	int a[5]={54,12,45,6,2};
	int len=sizeof(a)/sizeof(a[0]);
	cut(a,len);
	for(i=0;i<len;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}

类似与扑克牌,要排序的那一张依次和前面的比较,比它大的依次后移,直到遇到比它小的,放在他的后面。

Linux命令大全

http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html

本周问题

洛谷刷题没有完成目标。反省中
面试题难度太高,暂且搁置,等知识学的差不多再继续。

下周计划

1、c语言学习到链表。
2、洛谷结束新手村。
3、继续排序的学习。


版权声明:本文为passport404原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。