- 博客(12)
- 收藏
- 关注
转载 操作系统上下文切换
http://blog.csdn.net/xifeijian/article/details/8209783进程切换进行进程切换就是从正在运行的进程中收回处理器,然后再使待运行进程来占用处理器。 这里所说的从某个进程收回处理器,实质上就是把进程存放在处理器 的寄存器中的中间数据找个地方存起来,从而把处理器的寄存器腾出来让其他进程使用。那么被中止运行进程的中间数据存在何处好呢
2016-05-07 17:36:48 5091
转载 系统调用的实现原理
转载出处: http://blog.csdn.net/chosen0ne/article/details/7721550系统调用概述 计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就
2016-05-07 15:31:43 517
原创 求旋转数组的最小数字算法的解析以及完整c语言代码实现
题目:输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如{1,2,3,4,5}数组的一个旋转数组{3,4,5,1,2},其最小的元素为1, 解析加完整可以与运行代码
2016-05-06 19:57:10 977
原创 快速排序的c语言实现代码
快速排序的基本思想就是选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。具体代码如下://快速排序实现#includeint partion(int data[],int low,int high){ int t
2016-05-04 23:12:25 7323
原创 希尔排序的c语言实现代码
算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。 具体代码如下: //希尔排序#includevoid shellsort(int a[],int n){ int
2016-05-04 19:38:43 2107
原创 堆排序的c语言实现
说到堆排序,其实就是首先建立一个大顶堆或者小顶堆,然后把他的最顶上的元素输出,然后让最顶上的元素与最后的元素进行交换并删除最后一个元素,依次输出则得到排好序的元素。具体代码实现如下(已通过编译并成功运行): #includevoid swap(int a[],int x,int y){ int temp=0; temp=a[x]; a[x]=a[y]; a[
2016-05-04 15:35:43 701
原创 直接插入排序的c语言实现
直接插入排序即是在要排序的数组中,假设前n-1(n>=2)个数已经是排好序的,现在要把第n个数插入到前n个已经排好序的数组中,使得这n个数也变成有序的,如此反复循环,使得要排序的数组中的最后一个元素也排好序, 我们可以先假设第一个数是排好序的,然后第二个数和第一个数进行比较,如果第二个数比第一个数大,那么说明前两个数排好序,无需做调整,如果第二个数比第一个数小,那么就把第一个数向
2016-05-03 21:01:23 11903 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人