Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1639572
  • 博文数量: 268
  • 博客积分: 8708
  • 博客等级: 中将
  • 技术积分: 3764
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-06 15:58
文章分类

全部博文(268)

文章存档

2014年(1)

2013年(15)

2012年(23)

2011年(60)

2010年(51)

2009年(12)

2008年(59)

2007年(47)

分类: C/C++

2012-10-29 09:49:40

C语言问题:如何找出一个数组中最大的数
#include  
using namespace std; 
int main() 
int i,maxn=0,n; 
cin>>n; 
int *arr=new int[n] 
for(i=0;i
cin>>arr[i]; 
if(arr[i]>arr[maxn]) maxn=i; 
cout<<"The max one nember is:"<
} 时间复杂度为O(n)。

 void BubbleSort(SeqList R)
   { //R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序
     int i,j;
     Boolean exchange; //交换标志
     for(i=1;i       exchange=FALSE; //本趟排序开始前,交换标志应为假
       for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描
        if(R[j+1].key          R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元
          R[j+1]=R[j];
          R[j]=R[0];
          exchange=TRUE; //发生了交换,故将交换标志置为真
         }
       if(!exchange) //本趟排序未发生交换,提前终止算法
             return;
     } //endfor(外循环)
    } //BubbleSort算法的平均时间复杂度为O(n2)


#include"string.h"
main()
{
    const char* src = "hello world";
    int len = strlen(src);
    char* dest = (char*)malloc(len+1);
    char* d = dest;
    char* s = src[len-1];
    while( len-- ! = 0)
    {
        *d++ = *s--;
    }
    *d = 0;
    printf("%s", dest);
    free(dest);
    return 0;
}

#include"stdio.h"
#include"string.h"
main()
{
    char a[] = "hello,world";
    int len = strlen(str);
    char t;
    for(int i=0; i<=len/2; i++)
    {
        t = str[i];
        str[i] = str[len-i-1];
        str[len-i-1] = t;
    }
    printf("%s",str);
    return 0;
}

memcpy与strcpy实现assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,
然后通过调用 abort 来终止程序运行。

void* memcpy(void* pvTo, const void* pvForm, size_t size)
{
 assert((pvTo!= NULL) && (pvFrom!= NULL));//使用断言防止传递空地址
 unsigned char* pbTo = (unsigned char*)pvTo;//防止改变pvTo的地址
 unsigned char* pbFrom = (unsigned char*)pvFrom;//防止改变pvFrom的地址
 while(size-- > 0)
 {
  *pbTo++ = *pbFrom++;
 }
 return pvTo;
}

char* strcpy(char* pDest, const char* pSrc)
{
 assert((pDest != NULL) && (pSrc != NULL));
 char *pTmp = pDest;
 while ((*pDest++ = *pSrc++) != '\0')
  ;
 return pTmp;
}

阅读(1096) | 评论(0) | 转发(0) |
0

上一篇:C和C++混合编程

下一篇:驱动程序

给主人留下些什么吧!~~