共有回帖数 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号
意见反馈 |
关于直线 |
版权声明 |
会员须知