易截截图软件、单文件、免安装、纯绿色、仅160KB

经典排序算法 C实现

PART (1)
/*
===============================================
经典排序思想,并用C语言指针实现排序算法
================================================
*/
/*
=============================================================================
相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):
1、稳定排序和非稳定排序
 
 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就
说这种排序方法是稳定的。反之,就是非稳定的。
 比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,
则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变成a1,a4,
a2,a3,a5就不是稳定的了。
2、内排序和外排序
 在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;
 在排序过程中,只有部分数被调入内存,并借助内存调整数在外存中的存放顺序排序方法称为外排序。
3、算法的时间复杂度和空间复杂度
 所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
================================================================================
*/
/*
================================================
 功能:选择排序
 输入:数组名称(也就是数组首地址)、数组中元素个数
================================================
*/
/*
====================================================
算法思想简单描述:
 在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环
 到倒数第二个数和最后一个数比较为止。
 选择排序是不稳定的。算法复杂度O(n2)--[n的平方]
=====================================================
*/
void select_sort(int *x, int n)
{
 int i, j, min, t;
 for (i=0; i<n-1; i++) /*要选择的次数:0~n-2共n-1次*/
 {
  min = i; /*假设当前下标为i的数最小,比较后再调整*/
  for (j=i+1; j<n; j++)/*循环找出最小的数的下标是哪个*/
  {
   if (*(x+j) < *(x+min))


相关文档:

o ra c le 安装

 检查内核参数
正在检查 semmsl=250; 已发现 semmsl=250。 通过
正在检查 semmns=32000; 已发现 semmns=32000。 通过
正在检查 semopm=100; 已发现 semopm=32。 失败 <<<<
正在检查 semmni=128; 已发现 semmni=128。 通过
正在检查 shmmax=536870912; 已发现 shmmax=33554432。 失败 <<<< ......

C中的空


1.   什么是空指针常量(null pointer constant)?
[ 6.3.2.3-3] An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant.
这里告诉我们:0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 ......

C输出格式总结

C输出格式总结
2007-07-08 12:09
1 一般格式
   printf(格式控制,输出表列)
   例如:printf("i=%d,ch=%c\n",i,ch);
   说明:
   (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息:
    &nbs ......

c陷阱与缺陷阅读笔记

【1】 “ = ”的优先级低于  “ || ” 且 “ = ” 为右结合性,注意一下代码为死循环:while(c=' '||c=='\t'||c=='\n')

程序本意是跳过空格,制表符,换行符,但由于不小心将c=='  '写成了c= '  '导致程序进入死循环
【2】a=-1 在很老的C版本里理解为 a =-  1
【3 ......

C/C++程序员应聘常见面试题深入剖析(转载)


1.引言
  本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见­。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号