• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

  • 联系
  • 订阅
  • 管理

View Post

顺序表删除 SDTU1130

简单题

开个数组一下过了,貌似觉得不合符题目要求,题目要求是尽可能小的空间和时间,想不到有啥好方法

 

代码
1
2
3 1 #include<iostream>
4 2 using namespace std;
5 3
6 4 bool notfind(int, int[], int);
7 5 int main()
8 6 {
9 7 int num;
10 8 int n = 0;
11 9 int i = 0;
12  10 int a[1000], b[1000];
13  11
14  12 cin >> num;
15  13
16  14 while(cin >> a[i++]);
17
18 16 for (int j = 0; j < num; j++)
19 17 {
20 18 if (notfind(a[j], b, n))
21 19 {
22 20 b[n++] = a[j];
23 21 }
24 22 }
25 23
26 24 cout << n << endl;
27 25 for (int i = 0; i < n - 1; i++)
28 26 cout << b[i] << " ";
29 27 cout << b[n-1] << endl;
30 28
31 29 return 0;
32 30 }
33 31
34 32 bool notfind(int a, int b[], int num)
35 33 {
36 34 for (int i = 0; i < num; i++)
37 35 {
38 36 if (a == b[i])
39 37 return false;
40 38 }
41 39 return true;
42 40 }
43 41
44 42

 

 

posted on 2010-09-01 23:06  sysuwhj  阅读(161)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3