编程珠玑第2章部分课后习题答案注解
2014-05-12 20:19
429 查看
3.n元一维向量向左旋转n位。
方法一:进行3次reverse
方法一:进行3次reverse
#include <stdio.h> #include <stdlib.h> #define N 5 //反转数组(start-end),例如 1 2 3 4 5 -> 5 4 3 2 1 void reverse(int a[], int start, int end) { int i=start,j=end; while(i < j) { int tmp; tmp = a[i]; a[i] = a[j]; a[j] = tmp; i++; j--; } } //向左旋转K位 void rotate(int a[], int n, int k) { reverse(a,0,k-1); reverse(a,k,n-1); reverse(a,0,n-1); } //打印数组 void print(int a[], int n) { int i; for(i=0; i<n; i++) { printf("%d ",a[i]); } } int main() { int a = {1,2,3,4,5}; printf("数组反转后:"); reverse(a,0,4); print(a,N); printf("\n"); //此时数组已经被反转,里面的数据为5 4 3 2 1 rotate(a,5,3); printf("向左旋转3位:"); print(a,N); printf("\n"); return 0; }
相关文章推荐
- 编程珠玑第1章部分课后习题答案注解
- 《C语言的科学与艺术》课后习题答案第八章(部分)
- 《计算机网络》第七版第一章总结及部分课后习题答案
- 数据结构与算法分析(java语言描述) 部分课后习题答案 第一章
- 编程珠玑(第2版)第一章课后习题答案
- 《编程珠玑》(第2版)第2章”:课后习题7(矩阵转置)
- 《编程珠玑》 个人实现部分课后答案
- 大一上:计算机导论复习(每章分值、常考题型以及部分章节课后习题答案【网上没有,老师自己做的】)
- 《C语言的科学与艺术》课后习题答案第五章(部分)2
- 电子线路非线性部分课后习题答案
- 《C语言的科学与艺术》课后习题答案第五章(部分)1
- 《编程珠玑》读书笔记4------------第四章部分习题及个人答案
- 《C语言的科学与艺术》课后习题答案第四章(部分)
- “《编程珠玑》(第2版)第2章”:课后习题7(矩阵转置)
- 编程珠玑-第2章课后习题8:如何快速确定一个集合中其元素之和不超过某值【未完成】
- 《C语言的科学与艺术》课后习题答案第六章(部分)
- C语言程序设计 全书课后习题答案!!
- 函数指针(习题课后答案)
- 计算机操作系统(第四版)课后习题答案(完整版)
- ORACLE.10G备份与恢复课后习题答案