用不同的方法将⼀个数组中的数据按相反的顺序存储
2018-03-28 22:58
393 查看
将⼀个数组中的数据按相反的顺序存储;
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
处理完成之后,数组的内容变成{ 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 }
//void reverse(int arr[], int sz)
//{
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// left++;
// right--;
// }
//}
//void reverse(char* arr, int sz)
//{
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = *(arr+left);
// *(arr + left) = *(arr+right);
// *(arr + right) = tmp;
// left++;
// right--;
// }
//}
void Reverse(int* left, int* right)
{
assert(left != NULL);
assert(right != NULL);
while (left < right)
{
int tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sz = sizeof(a) / sizeof(a[0]);
//reverse(a, sz);
Reverse(a, a + sz - 1);
system("pause");
return 0;
}
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
处理完成之后,数组的内容变成{ 0, 9, 8, 7, 6, 5, 4, 3, 2, 1 }
//void reverse(int arr[], int sz)
//{
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// left++;
// right--;
// }
//}
//void reverse(char* arr, int sz)
//{
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = *(arr+left);
// *(arr + left) = *(arr+right);
// *(arr + right) = tmp;
// left++;
// right--;
// }
//}
void Reverse(int* left, int* right)
{
assert(left != NULL);
assert(right != NULL);
while (left < right)
{
int tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sz = sizeof(a) / sizeof(a[0]);
//reverse(a, sz);
Reverse(a, a + sz - 1);
system("pause");
return 0;
}
相关文章推荐
- 将一个数组中数据按相反的顺序存储
- 将一个数组中的数据按相反的顺序存储(将数组中的数据逆序输出)
- 数据存储——Java数组,去掉重复值、增加、删除数组元素的实现方法
- 数组的顺序存储表示和实现-数据结构
- java中传递基础数据类型值与传递数组引用变量给方法的不同之处
- 数据结构之线性表——链表的顺序存储(数组描述)
- opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类
- 再回首,数据结构——字符串与数组的常见操作(顺序存储)
- WindowsMobile(Winform)开发中的数据存储(解决在不同的Form中要调用对方的方法或者使用对方的数据问题)
- 数据结构之线性表——链表的顺序存储(数组描述)
- 【数据结构之线性表顺序存储】简单的数组的方式实现
- java获取两个数组中不同数据的方法
- 个人练习数据结构之--------------关于线性数据的有序数组以及之上的二分法查找、不同排序方法的学习
- javascript ArrayBuffer类型化数组和视图的操作 个人理解类型化数据就是内存分配区域,不同数据的存储就是视图DataView咯 var buffers = []; var jso
- 数据结构之线性结构的顺序存储(数组)
- 从键盘输入20个整数将奇数&偶数分别存在不同的数组中并按先奇数后偶数的顺序输出这两个数组中的数据
- C++顺序表的构建(用数组存储数据)
- long/int型数据存储在字符数组中方法
- 两种不同的存储过程调用方法
- dataset 中将 将2进制数组列的数据 转换成文件 和 从文件中 转换到 dataset 方法