//打印与查找数组
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void PrintArray(int ar[], int n)
{
for (int i = 0; i < n; ++i)
{
printf("%d ", ar[i]);
}
printf("\n");
}
int FindArray(int ar[], int n, int key)
{
for (int i = 0; i < n; ++i)
{
if (ar[i] == key)
return i;
}
return -1;
}
int main()
{
int ar[N];
srand(time(0));
for (int i = 0; i < N; ++i)
{
ar[i] = rand() % 100 + 1;
}
PrintArray(ar, N);
int key = 61;
int index = FindArray(ar, N, key);
printf("index=%d\n", index);
}
对数组排序的简单方法:冒泡排序
其函数内容如下:
//冒泡排序法
void SortArray(int ar[], int n)
{
for (int i = 0; i < n - 1; i++) //控制趟数
{
for (int j = 0; j < n - 1 - i; j++) //控制每一趟排序
{
if (ar[j] > ar[j + 1])
{
int temp;
temp = ar[j];
ar[j] = ar[j + 1];
ar[j + 1] = temp;
}
}
}
}
查找数组内的元素的简单方法:二分查找
其函数内容如下:
//二分查找法
void Binarysearch(int ar[], int n, int key)
{
int low = 0;
int high = n - 1;
while (low <= high)
{
int mid = (low + high) / 2;
if (ar[mid] = key)
return mid;
else if (key < ar[mid])
high= mid - 1;
else
low= mid + 1;
}
return -1;
}
逆置数组内的元素的简单方法:
其函数内容如下:
//数组逆置
void ReverseArray(int ar[], int n)
{
int left = 0;
int right = n - 1;
while (left < right)
{
int temp= ar[left];
ar[left] = ar[right];
ar[right] = temp;
left++;
right--;
}
}