1 #include <stdio.h>
2
3
4
5 int erfen(int arr[], int low, int high, int key)
6 {
7 int mid;
8 while(low<=high)
9 {
10 mid = (low + high)/2;
11 if(key > arr[mid])
12 low = mid + 1;
13 else if(key < arr[mid])
14 high = mid -1;
15 else if(key == arr[mid])
16 return mid;
17 }
18 return -1;
19 }
20
21
22
23 void buboo_sort(int* arr , int len)
24 {
25 int i,j,temp;
26 for(i =0; i<len-1; i++)
27 {
28 for(j = 0;j<len-1-i;j++)
29 {
30 if(arr[j]>arr[j+1])
31 {
32 temp = arr[j];
33 arr[j] = arr[j+1];
34 arr[j+1] = temp;
35 }
36 }
37 }
38 }
39
40 void xunze(int* arr, int len)
41 {
42 int i=0, j=0;
43 int mi,idx;
44 for(i=0; i<len-1; i++)
45 {
46 mi=i;
47 for(j=i+1; j<=len-1; j++)
48 {
49 if(arr[j] > arr[mi])
50 {
51 mi = j;
52 }
53 }
54 if(mi != i)
55 {
56 arr[i] = arr[i]^arr[mi];
57 arr[idx] = arr[i]^arr[mi];
58 arr[i] = arr[i]^arr[mi];
59 }
60
61 }
62 for(int i=0; i<len; i++)
63 {
64 printf("%d ", arr[i]);
65 }
66
67 }
68
69
70
71
72 int main(int argc, const char *argv[])
73 {
74 int arr[] = {110, 202, 33, 44, 55, 66,77, 88, 909, 999};
75 int len = sizeof(arr)/sizeof(arr[0]);
76 xunze(arr, len);
77
78
79
80
81
82
83
84 /* buboo_sort(arr, len);
85 for(int i=0; i<len; i++)
86 printf("%d\t",arr[i]);
87 return 0;
88 // int res;
89 // res =erfen(arr, 0, sizeof(arr)/sizeof(arr[0])-1, 55);
90 // printf("%d\n",res);
91 */
92
93 return 0;
94 }
~
~
~
~
算法排序冒泡,选则,插入,快排(未完待续)
最新推荐文章于 2024-09-07 14:55:59 发布