我是C编程的新手,我遇到了一个问题.
如果复杂的声明,我发现了这一点
int *daytab[13]; // daytab is an array of 13 pointers to int
Run Code Online (Sandbox Code Playgroud)
这意味着daytab
是数组的名称,数组的名称指向数组的第一个元素.数组名称与像daytab++
etc等指针操作不兼容(如果我错了,请纠正我).
但我发现这段代码是用Dennis Ritchie编写的
main(int argc, char * argv[]) {
while( --argc > 0 )
printf("%s%s",*++argv,(argc>1) > " " : "");
printf("\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
他们怎么操纵argv
?它不是数组名称吗?
大家好,
我想知道union是否使用填充?
由于union的大小是最大的数据成员大小,最后是否可以填充?
在最近的微软采访中提出了以下问题
给出一个大小为5的未排序数组.找到中位数需要多少次最小比较?然后他扩大了它的大小n.
根据我的5个元素的解决方案是6
1) use 3 comparisons to arrange elements in array such that a[1]<a[2] , a[4]<a[5] and a[1]<a[4]
a) compare a[1] and a[2] and swap if necessary
b) compare a[4] and a[5] and swap if necessary
c) compare a[1] and a[4].if a[4] is smaller than a[1] , then swap a[1] wid a[4] and a[2] wid a[5]
2)if a[3]>a[2].if a[2]<a[4] median value = min(a[3],a[4]) else median value=min(a[2],a[5])
3)if a[3]<a[2].if a[3]>a[4] median value = min(a[3],a[5]) else median value=min(a[2],a[4])
Run Code Online (Sandbox Code Playgroud)
这可以扩展到n个元素.如果不是,除了quickselect之外,我们如何在O(n)中找到n个元素的中位数
我陷入了困境.问题的一部分需要计算各点的点的绝对距离之和.| x - x1 | + | x - x2 | + | x - x3 | + | x - x4 | ....
我必须在每个点的O(n)中计算这个距离,同时在数组中迭代,例如:
array = {3,5,4,7,5}
与先前点的距离之和
dis[0] = 0;
dis[1] = |3-5| = 2
dis[2] = |3-4| + |5-4| = 2
dis[3] = |3-7| + |5-7| + |4-7| = 9
dis[4] = |3-5| + |5-5| + |4-5| + |7-5| = 5
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议算法这样做吗?将理解小于O(n ^ 2)的算法(不一定是O(n)).
代码为O(n ^ 2)
REP(i,n){
LL ans = 0;
for(int j=0;j<i;j++)
ans= ans + …
Run Code Online (Sandbox Code Playgroud) 鉴于整数两个排序阵列,a
并且b
,和一个整数c
,我一定要找到i,j
这样的:
a[i] + b[j] <= c
Run Code Online (Sandbox Code Playgroud)
并且a[i] + b[j]
尽可能大.
我能想到的最好的解决方案是在O(n log n)时间内,从第一个数组获取每个整数并找到" c-a[i]
" 的下限.
任何人都可以建议我更好的方法(可能在O(n)时间)?
我正在尝试对链表进行排序.我很困惑何时使用struct node*head
以及何时使用struct node **head
,可以使用它们来完成实现.
我什么时候应该使用:
void sortedinsert(struct node **head)
Run Code Online (Sandbox Code Playgroud)
我什么时候应该使用:
void sortedinsert(struct node *head)
Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我为什么不包括stdio.h
仍然使用该printf
功能只在gcc上发出警告?
警告:内置函数'printf'的不兼容隐式声明
相反,这应该是一个编译错误,因为我们包括一个未声明的函数.
这与链接程序有关吗?请详细说明.
#define power(a) #a
int main()
{
printf("%d",*power(432));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释o/p ??
o/p是
52