大学数据结构真题程序设计题代码

堆栈法: 再中间位置之前,将字符压入堆栈中,在中间位置之后,开始判断如果当前位置的字符与堆栈的顶端字符相同则出栈,不同则认为中心不对称。先判断是奇数还是偶数,若链表总个数为奇数则要去掉中间位置,即中间字符忽略,在(n+1)/2开始出栈。偶数在n/2位置之后开始出栈.............了解更多请下载附件。

应用介绍

此项目是大学数据结构真题程序设计题代码。


# C++ STL常用总结

[TOC]

## Vector 向量

### push_back

> 将元素添加到容器末尾

```c++

#include <vector>

#include <iostream>

using namespace stl;

int main()

{

    vector<string> numbers;

 

    numbers.push_back("abc");

    string s = "def";

    numbers.push_back(move(s));

 

    cout << "vector holds: ";

    for (auto&& i : numbers) cout << quoted(i) << ' ';

    cout << "\nMoved-from string holds " << quoted(s) << '\n';

}

```

```

输出:

vector holds: "abc" "def"

Moved-from string holds ""

```

### erase

> 指定删除某个位置上的元素,或时一个范围的元素

```C++

    vector<int> vr {1,2,3,4,5,6,7};

    //删除向量下标为2位置上的元素

    vr.erase(2);

    //删除下标2到4位置上的元素

    vr.erase(2,4);

```

### insert

> 指定插入

```

    //在向量下标为2的位置插入

    vr.insert(2)

```

### size

> 返回向量的大小

```c++

#include <vector>

#include <iostream>

 

int main()

{

    vector<int> nums {1, 3, 5, 7};

 

    cout << "nums contains " << nums.size() << " elements.\n";

}

输出:

nums contains 4 elements.

```

### pop_back

>移除容器的最末元素。

```c++

#include <vector>

#include <iostream>

 

template<class T>

void print(T const & xs)

{

    std::cout << "[ ";

    for(auto && x : xs) {

        std::cout << x << ' ';

    }

    std::cout << "]\n";

}

 

int main()

{

    std::vector<int> numbers;

 

    print(numbers);

 

    numbers.push_back(5);

    numbers.push_back(3);

    numbers.push_back(4);

 

    print(numbers);

 

    numbers.pop_back();

 

    print(numbers);

}

输出:

[ ]

[ 5 3 4 ]

[ 5 3 ]

```

### empty

> 检查容器是否无元素,即是否 begin() == end()

> 若容器为空则为 true ,否则为 false

```c++

#include <vector>

#include <iostream>

 

int main()

{

    std::cout << std::boolalpha;

    std::vector<int> numbers;

    std::cout << "Initially, numbers.empty(): " << numbers.empty() << '\n';

 

    numbers.push_back(42);

    std::cout << "After adding elements, numbers.empty(): " << numbers.empty() << '\n';

}

输出:

Initially, numbers.empty(): true

After adding elements, numbers.empty(): false

```

## stack 栈

### push

> 将元素压入栈中

```c++

    stack<int> st;

    st.push(1);

```

### top 和 pop

> .top() 访问栈顶端的元素,但是并不会删除栈顶的元素

```c++

    stack<int> st;

    st.push(1);

    st.push(2);

    st.push(3);

    // 访问栈顶

    cout << st.top() << endl;

```

> .pop() 删除栈顶元素

```c++

    stack<int> st;

    st.push(1);

    if(st.empty()){

        st.pop();

        cout << "栈顶元素删除" << endl;

    }

    else

        cout << "栈为空" << endl;

```

### empty

> 栈是否为空,为空返回true,不为空返回false

```c++

    stack<int> st.;

    st.push(1);

    if(st.empty())

        cout << "栈不为空" << endl;

    else

        cout << "栈为空" << endl;

```

## queue 队列

### push

> 往队列尾部添加元素

```c++

    queue<int> que;

    que.push(11);

```

### front 及 pop

> .front() 访问第一个元素

> .pop() 从 queue 移除前端元素。等效地调用 c.pop_front()

```c++

    queue<int> que;

    cout << que.front() << endl;

    que.pop();

```

### size

> 返回队列当前长度

### empty

> 判断队列是否为空,为空返回true,不为空返回false

....................了解更多请下载附件。

文件列表(部分)

名称 大小 修改日期
t2-1.cpp0.57 KB2019-11-25
2017.md0.95 KB2020-09-20
t1-1.cpp0.83 KB2019-11-25
t1-2.cpp0.59 KB2019-11-25
t1-3.cpp0.32 KB2019-11-25
t2-1.cpp0.70 KB2019-11-25
t1.cpp0.61 KB2019-11-25
t2.cpp0.40 KB2019-11-25
t3.cpp0.85 KB2019-11-25
readme.md0.19 KB2020-09-20
t1-1.cpp0.60 KB2019-11-25
t2-1.cpp0.66 KB2019-11-25
t3-1.cpp0.50 KB2019-11-25
heapsort.cpp0.86 KB2019-11-25
hillsort.cpp0.35 KB2019-11-25
quicksort.cpp0.40 KB2019-11-25
STL常用总结.md1.24 KB2019-11-25
20160.00 KB2019-11-25
20170.00 KB2019-11-25
20180.00 KB2019-11-25
20190.00 KB2019-11-25
csust_date_structure0.00 KB2020-09-20

立即下载

相关下载

[大学数据结构真题程序设计题代码] 堆栈法: 再中间位置之前,将字符压入堆栈中,在中间位置之后,开始判断如果当前位置的字符与堆栈的顶端字符相同则出栈,不同则认为中心不对称。先判断是奇数还是偶数,若链表总个数为奇数则要去掉中间位置,即中间字符忽略,在(n+1)/2开始出栈。偶数在n/2位置之后开始出栈.............了解更多请下载附件。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部