C常用的对数组操作的几个方法
来源:互联网 发布:js如何验证手机号码 编辑:程序博客网 时间:2024/05/21 09:18
1 #include <stdio.h> 2 3 void array_rand(int arr[], int len) 4 { 5 int i; 6 7 for (i = 0; i < len; i++) 8 { 9 arr[i] = rand() % 100; 10 } 11 } 12 13 void array_output(int arr[], int len) 14 { 15 int i; 16 17 for (i = 0; i < len; i++) 18 { 19 printf("%d ", arr[i]); 20 } 21 printf("\n"); 22 } 23 24 int array_max(int arr[], int len) 25 { 26 int i, max; 27 28 for (i = 1, max = arr[0]; i < len; i++) 29 { 30 if (arr[i] > max) 31 max = arr[i]; 32 } 33 34 return max; 35 } 36 37 int array_min(int arr[], int len) 38 { 39 int i, min; 40 41 for (i = 1, min = arr[0]; i < len; i++) 42 { 43 if (arr[i] < min) 44 min = arr[i]; 45 } 46 47 return min; 48 } 49 50 void array_rev(int arr[], int len) 51 { 52 int i, l = len / 2; 53 int t; 54 55 for (i = 0; i < l; i++) 56 { 57 /*t = arr[i];*/ 58 /*arr[i] = arr[len - i - 1];*/ 59 /*arr[len - i - 1] = t;*/ 60 61 arr[i] ^= arr[len - i - 1]; 62 arr[len - i - 1] ^= arr[i]; 63 arr[i] ^= arr[len - i - 1]; 64 } 65 }
66 67 void array_left(int arr[], int len) 68 { 69 int i, l = len - 1; 70 71 for (i = 0; i < l; i++) 72 { 73 arr[i] ^= arr[i + 1]; 74 arr[i + 1] ^= arr[i]; 75 arr[i] ^= arr[i + 1]; 76 } 77 } 78 79 80 void array_right(int arr[], int len) 81 { 82 int i; 83 84 for (i = len - 1; i > 0; i--) 85 { 86 arr[i] ^= arr[i - 1]; 87 arr[i - 1] ^= arr[i]; 88 arr[i] ^= arr[i - 1]; 89 } 90 } 91 92 void array_sort(int arr[], int len) 93 { 94 int i, j, l = len - 1; 95 96 for (i = 0; i < l; i++) 97 { 98 for (j = i + 1; j < len; j++) 99 {100 if (arr[i] > arr[j])101 {102 arr[i] ^= arr[j];103 arr[j] ^= arr[i];104 arr[i] ^= arr[j];105 }106 }107 }108 }109 110 void array_uniq(int arr[], int len)111 {112 int i, j, flag = 1, count = 1;113 114 for (i = 1; i < len; i++)115 {116 flag = 1;117 118 for (j = 0; j < count; j++)119 {120 if (arr[i]==arr[j])121 {122 flag = 0;123 break;124 }125 }126 127 if (flag)128 {129 arr[count++] = arr[i];130 }131 }132 133 printf("uniq: ");
134 array_output(arr, count);135 }136 137 int main(void)138 {139 int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 1, 5};140 int l = sizeof(a) / sizeof(a[0]);141 142 array_rand(a, l);143 printf("init: ");144 array_output(a, l);145 146 printf("max = %d, min = %d\n", array_max(a, l),147 array_min(a, l));148 149 array_rev(a, l);150 printf("rev: ");151 array_output(a, l);152 153 array_left(a, l);154 printf("left: ");155 array_output(a, l);156 157 array_right(a, l);158 printf("right: ");159 array_output(a, l);160 161 array_sort(a, l);162 printf("sort: ");163 array_output(a, l);164 165 array_uniq(a, l);166 167 return 0;168 }
两个数组元素交换的思想,备份下操作数组常用的方法。
0 0
- C常用的对数组操作的几个方法
- C常用的对字符串操作的几个方法
- 常用的几个操作数组的方法
- 对文件操作的常用的几个方法
- C语言创建数组的几个常用方法
- JS数组的几个常用方法
- javascript数组的几个常用方法
- javascript数组的几个常用方法
- Java 数组的几个常用方法
- PHP 数组常用的几个方法
- Objective-c语言_对字符串操作的常用方法
- Objective-C语言_对字符串操作的常用方法
- Objective-C中关于数组操作常用的方法
- 文件操作的几个常用方法之一
- 常用的对数组的操作
- java之File对象对文件的操作常用的几个方法
- Swift对数组的常用基本操作
- 几个简单的对随机数组的操作
- Color the ball(树状数组之插点问线问题)
- 算法准备
- c语言中通过指针将数值赋值到制定内存地址
- delphi 控件 combobox常识
- 深入理解HTTP Session
- C常用的对数组操作的几个方法
- Git使用技巧(整理)三 实战
- Keil4 断点按钮为灰色解决方法
- [一起学Hive]之八-使用Hive命令行
- iOS 开发学习36 reveal使用
- Android实现网络多线程断点续传下载
- [一起学Hive]之九-Hive的查询语句SELECT
- IE虚拟打印问题
- iPhone 6 Plus真机调试时遇到的问题