我有一个阵列
Values array: 12 20 32 40 52
^ ^ ^ ^ ^
0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
我必须在其上执行二进制搜索以找到数字所在范围的索引.例如:
我以下面的方式实现了二进制搜索,这对于案例1和3来说是正确的但是如果我们搜索案例2或52,55 32等则不正确.
#include <iostream>
using namespace std;
int findIndex(int values[], int number, unsigned first, unsigned last)
{
unsigned midPoint;
while(first<last)
{
unsigned midPoint = (first+last)/2;
if (number <= values[midPoint])
last = midPoint -1;
else if (number > values[midPoint])
first = midPoint + 1;
}
return midPoint;
}
int main() …Run Code Online (Sandbox Code Playgroud) 我的WPF应用程序窗口上有一个数据网格,数据绑定到一个可观察的集合.在DataGrid中,我设置了属性CanUserDeleteRows=True,我可以通过按键盘上的"删除"按钮删除该行.
这对我来说看起来不太直观.我想保留一个额外的列,其中按下删除按钮,该行应删除.(类似于ASP.NET中的ItemTemplate可以做的事情)
<DataGrid x:Name="dgrQuestions" AutoGenerateColumns="False" Height="224" HorizontalAlignment="Left" Margin="42,73,0,0" VerticalAlignment="Top" Width="663" ItemsSource="{Binding QueList}" CanUserAddRows="True" CanUserDeleteRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Qu" Binding="{Binding Path=Que, UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="An" Binding="{Binding Path=Ans, UpdateSourceTrigger=PropertyChanged}"/>
<DataGridTextColumn Header="Hi" Binding="{Binding Path=Hi, UpdateSourceTrigger=PropertyChanged}"/>
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)
如何使用buttondatagrid本身内部来获取删除行的功能
我试图理解代码从一组生成所有子集.这是代码
#include <stdio.h>
/* Applies the mask to a set like {1, 2, ..., n} and prints it */
void printv(int mask[], int n) {
int i;
printf("{ ");
for (i = 0; i < n; ++i)
if (mask[i])
printf("%d ", i + 1); /*i+1 is part of the subset*/
printf("\\b }\\n");
}
/* Generates the next mask*/
int next(int mask[], int n) {
int i;
for (i = 0; (i < n) && mask[i]; ++i)
mask[i] = 0;
if …Run Code Online (Sandbox Code Playgroud)