共有回帖数  0  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									先献上几个 
 
 Q: 如何把一个字符ch添加到一个字符串str的末尾?
 A: 按照一般方法, 我们可能会用
 int len = strlen(str);
 str[len] = ch;
 str[len + 1] = ' ';
 不过我们也可以用strncpy函数来实现这一功能
 strncpy(str, &ch, 1);
 
 Q: 如何取得一个数组中元素的个数?
 A: 例如有数组
 int array[] = {5, 7, 1, 4, 0, 8, 6, 9, 3, 2};
 数组array中元素个数可以表示为
 sizeof(array) / sizeof(array[0]);
 或者
 sizeof(array) / sizeof(int);
 
 Q: 如何将一个数组中的每一个元素初始化为0?
 A: 可以用memset函数(需要#include string.h), 如
 int array[1024];
 memset(array, 0, sizeof(array);
 
 Q: 如何将一个数组赋值给另一个数组?
 A: 使用memcpy函数(需要#include string.h), 如
 int array1[10] = {1, 2, 3, 4, 5};
 int array2[10];
 memcpy(array2, array1, sizeof(array2));
 
 Q: 如何交换两个变量的值(不使用中间变量)?
 A:
 int a = 20, b = 30;
 a ^= b;
 b ^= a;
 a ^= b;
 
 
 Q:做题目时需要排序,总是得自己写快排,效率还不一定很高,苦恼- -
 A:如果没特别要求,试一试qsort函数- -(#includestdlib.h)
 可以实现诸如简单整形数组排序,结构体形数组按照结构体元素排序等等- -
 具体参见百度百科:http://baike.baidu.com/view/982231.htm#2
 说到排序 再次推销超快超简单的梳子排序吧 
 void CombSort(int* data, int n)
 {
 const double shrink = 1.25;
 int i, temp, delta = n, noswap = 0;
 
 while(!noswap)
 {
 for(noswap = 1, i = 0; i + delta  n; i++)
 if(data  data[i + delta])
 {
 temp = data;
 data = data[i + delta];
 data[i + delta] = temp;
 noswap = 0;
 }
 if(delta  1)
 {
 delta /= shrink;
 noswap = 0;
 }
 }
 }
 
 
 楼主 2016-04-15 09:18 回复 
 
 
   
             
                  
                  
 
 
 
     
	 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知