查找

二分查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int binarySearch(int* arr,int size) {
printf("BinarySearch\n");
fflush(stdout);

printf("Type to search:");
fflush(stdout);
int target;
scanf("%d", &target);
int low = 0, high = size - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) {
printf("found number with index:%d\n", mid);
return mid;
}
if (arr[mid] < target) {
low = mid + 1;
} else if (arr[mid] > target) {
high = mid - 1;
}
}
printf("not found\n");
return -1;
}

排序

冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
int* bubbleSort(int* arr, int size) {
int i,j;
for (i = 0; i < size; i++) {
for (j=0;j<size-1-i;j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}