codeup之数组元素原地逆置】的更多相关文章

读入100个整数到一个数组中,写出实现该数组进行逆置的算法. 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行交换,i = 0~49.f1所需要的辅助变量为2个整型变量i和temp,与问题的规模无关,其空间复杂度为O(l). 代码如下: #include <stdio.h> void f1(int *a, int n) { int i, temp; ;i <= n/ - ;i++) { temp =…
顺序表应用4:元素位置互换之逆置算法 Time Limit: 10 ms Memory Limit: 570 KiB Submit Statistic Discuss Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N).空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后…
插入新的数字重新排序 分析:将新的数字与已经排序好的数组中的数字一一比较,直到找到插入点,然后将插入点以后的数字都向后移动一个单位(a[i+1]=a[i]),然后将数据插入即可. 代码: #include<iostream> using namespace std; int main(){ int a[12];//定义用于存储数字的数组 int n;//输入的新的数字 int i=0,j=0,k=0;//排序用到的变量 cout<<"please input ten in…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7324 解决:3429 题目描述: 输入一个字符串,长度小于等于200,然后将数组逆置输出. 输入: 测试数据有多组,每组输入一个字符串. 输出: 对于每组输入,请输出逆置后的结果. 样例输入: hdssg 样例输出: gssdh 来源: 2011年哈尔滨工业大学计算机研究生机试真题 思路: 水题不解释 代码: #include <stdio.h> #include <string.h> int main(void) {…
题目1055:数组逆置 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8225 解决:3932 题目描述: 输入一个字符串,长度小于等于200,然后将数组逆置输出. 输入: 测试数据有多组,每组输入一个字符串. 输出: 对于每组输入,请输出逆置后的结果. 样例输入: hdssg 样例输出: gssdh #include <stdio.h> #include <string.h> int main(){ int len, i; ]; while(scanf("%…
Java 数组元素逆序Reverse的三种方式   本文链接:https://blog.csdn.net/xHibiki/article/details/82930521 题目 代码实现 说明 int[] originArray; //原始数组 int[] reverseArray;//反转后的数组 int length = 0; //原始数组的长度 方案一 使用java工具类java.util.Collections中的自带方法Collections.reverse()以下是java.util…
Problem Description 一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N).空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段. 注意:交换操作会有多次,每次交换都是在上次交换完成后的顺序表中进行. Input 第一行输入整数len(1<=len<…
对此题目的完整示例可直接运行代码如下: #include <stdio.h> #include <stdlib.h> typedef struct LNode{ int data; struct LNode *next; }LNode; LNode* creat(int n){ LNode *Link; LNode *p1,*p2; int data; Link=(LNode*)malloc(sizeof(LNode)); p2=Link; ;i<n;++i){ //一共n个…
写在前面的话:直接从第5章跳到了第7章数据结构的趣题,原因是前面的数学趣题做久了,会觉得稍许疲倦,所以想“变个口味”,以后数学趣题和数据结构混合着练习. 1. 题目要求 编写一个函数,实现顺序表的就地逆置,也就是说利用原表的存储空间,将顺序表(a1,a2,a3,...,an)逆置为(an,an-1,...,a2,a1) 2. 题目分析 oh!太久没有看过数据结构的东西了,感觉非常的不习惯,脑子一片空白呢! 顺序表应该可以如下简单的描述 a->b->c->d->... 这里先简单复习…
猥琐方法 直接分成两部分输出数组元素,注意空格的问题 #include<stdio.h> int arr[101]; void Priarr(int a,int b){ if(a<=b) for(int i=a;i<=b;i++){ if(i!=a)printf(" "); printf("%d",arr[i]); } } int main(){ int N,M; scanf("%d%d",&N,&M);…