Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196326
  • 博文数量: 42
  • 博客积分: 935
  • 博客等级: 准尉
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 16:57
个人简介

.

文章分类

全部博文(42)

文章存档

2013年(2)

2012年(5)

2011年(35)

我的朋友

分类: C/C++

2011-04-06 20:51:48

1.数组
  1. // 使用数组实现字符倒序输出

  2. #include <iostream>

  3. using namespace std;

  4. #define LEN 3

  5. char arr[LEN] = {'a','b','c'};

  6. void putchar(char c)
  7. {
  8.  cout<<c<<endl;
  9. }

  10. int main()
  11. {
  12.      for(int i = LEN - 1; i >=0; i--)
  13.      {
  14.           putchar(arr[i]);
  15.      }
  16.      
  17.      system("PAUSE");
  18.      return 0;
  19. }

2.堆栈

  1. // 使用堆栈实现字符倒序输出

  2. #include <iostream>

  3. using namespace std;

  4. char stack[521]; // 数组模拟堆栈

  5. int top = 0; // 模拟栈顶指针


  6. void push(char c)
  7. {
  8.      stack[top] = c; // 入栈

  9.      top++; // top总是指向栈顶元素的下一个

  10. }

  11. char pop(void)
  12. {
  13.     top--; // 出栈

  14.     return stack[top];
  15. }

  16. int is_empty(void)
  17. {
  18.     return top == 0 ; // 栈空

  19. }

  20. int main()
  21. {
  22.      push('a');
  23.      push('b');
  24.      push('c'); // 先入栈,后出栈

  25.      cout<<"倒序输出:"<<endl;
  26.      while(!is_empty())
  27.      {
  28.       cout<<pop()<<endl;
  29.      }
  30.      
  31.      system("PAUSE");
  32.      return 0;
  33. }

3.递归

  1. // 使用数组实现字符倒序输出

  2. #include <iostream>

  3. using namespace std;

  4. #define LEN 3

  5. char arr[LEN] = {'a','b','c'};

  6. void putchar(char c)
  7. {
  8.  cout<<c<<endl;
  9. }

  10. int main()
  11. {
  12.      for(int i = LEN - 1; i >=0; i--)
  13.      {
  14.           putchar(arr[i]);
  15.      }
  16.      
  17.      system("PAUSE");
  18.      return 0;
  19. }

不同的算法,需要使用不同的数据结构来实现。

 

阅读(893) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~