一、本周任务
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版权协议,转载请附上原文出处链接和本声明。