1 给定一个数组,把数组中的非0元素进行排序,0元素移动到数组最后 #输入 list1 = [ 1 , 0 , 5 , 0 , 3 , 0 ] #输出 list1 = [ 1 , 3 , 5 , 0 , 0 , 0 ] # include "stdafx.h" # include algorithm # includeiostream using
1 给定一个数组,把数组中的非0元素进行排序,0元素移动到数组最后
#输入list1=[1,0,5,0,3,0]
#输出
list1=[1,3,5,0,0,0]
using namespace std;
void moveZeros(int arr[], int n) {
int zeros = 0;
int i;
for (i = 0; i < n; i++){
if (arr[i] == 0)
{
zeros + +;
}
else {
arr[i - zeros] = arr[i];
}
}
i = n - zeros;
sort(arr, arr + i); #对前面非0元素进行排序
while (i < n) {
arr[i] = 0;
i++;
}
}
int main()
{
int arr[] = {0, 1, 5, 3, 0, 0, 0, 2};
moveZeros(arr, sizeof(arr) / sizeof(arr[0])); // 数组作为形参,也会改变实参
//cout << sizeof(arr) / sizeof(arr[0]); #均可获得数组元素个数
//cout << sizeof(arr) / sizeof(int);
for (int i = 0; i < 8; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// C + +判断数组元素个数
//
// 数组形参
2.数据库索引
命中索引,大量数据记录情况下,如何创建索引
3.链表
逻辑连续,物理不一定连续
修改容易
查询慢