stl库,基本操作代码

stl库,基本操作代码

栈的输入输出

#include<iostream>
#include<stack>
using namespace std;
int main()
{
	stack<int> a;
	int n;
	cin >> n;
	for(int i=0;i<n;i++)
	{
		int m;
		cin>>m;
		a.push(m);
	}
	cout << a.top() << endl;
	while( !a.empty() ) 
	{
        cout << a.top() << " ";
        a.pop();
    }
    return 0;
}
队列的输入和输出 
#include<iostream>
#include<queue>
using namespace std;
int main()
{
	queue<int> a;
	int n;
	cin >> n;
	for(int i=0;i<n;i++)
	{
		int m;
		cin >> m;
		a.push(m);
	}
	while(!a.empty())
	{
		cout << a.front() << endl;
		a.pop();
	}
	return 0;
}

数据库的插入和出处

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<int> s;
	int n;
	cin >> n;
	for(int i=0;i<n;i++)
	{
		int m;
		cin >> m;
		s.push_back(m);
	}
	for(int i=0;i<s.size();i++)
	{
		cout << s.at(i) <<" ";
		
	} cout <<endl;
	s.insert(s.begin(),122);//插入一个数(122)在第一个元素那; 
	s.erase(s.begin()+2);//删除第三个元素;(2+1) 
	for(int i=0;i<s.size();i++)
	{
		
		cout << s.at(i) <<" ";
	} 
	cout << endl; 
    while( !s.empty() )//倒 
	{
    cout << s.back() << " ";
    s.pop_back();
    }

}

字符串的输入与输出
//字符串的数据库运用
//等把这些搞会后就做题

#include<iostream>
#include<string>
using namespace std;
int main()
{/*字符串的构造函数创建一个新字符串,包括: 

以length为长度的ch的拷贝(即length个ch) 
以str为初值 (长度任意), 
以index为索引开始的子串,长度为length, 或者 
以从start到end的元素为初值. 
*/
	string str1( 5, 'c' );
    string str2( "Now is the time..." );
    string str3( str2, 11, 4 );
    cout << str1 << endl;//ccccc
    cout << str2 << endl;//Now is the time...
    cout << str3 << endl;//time
    
    string str4 = "Hello World";//添加文本 
    str4.append( 10, '!' );
    cout << str4 << endl;
    
    string str11, str21 = "War and Peace";
    str1.assign( str21, 4, 3 );  //赋值,第四个起连续三个 子串赋值给str2; 
    cout << str11 << endl;//and; 
    
    string text = "ABCDEF";
    char ch = text.at( 2 );//取值 

    
    //字符串的查找
	string str13( "Alpha Beta Gamma Delta" );
    unsigned int loc = str13.find( "Omega", 0 );
    if( loc != string::npos )
      cout << "Found Omega at " << loc << endl;
    else
      cout << "Didn't find Omega" << endl;
      //替换 
      string s7 = "They say he carved it himself...from a BIGGER spoon";
    string s27 = "find your soul-mate, Homer.";

    s7.replace( 32, s27.length(), s27 );

    cout << s7 << endl;
   //截取字符串
   //substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值 string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。


    string s5("What we have here is a failure to communicate");

    string sub = s5.substr(21);

    cout << "The original string is " << s5 << endl;
    cout << "The substring is " << sub << endl;

/*显示:

The original string is What we have here is a failure to communicate
The substring is a failure to communicate
*/
//交换 


 string first( "This comes first" );
    string second( "And this is second" );
    first.swap( second );
    cout << first << endl;
    cout << second << endl;
 } 

/* 大概就这么多 */

用栈进行10进制转换二进制

#include<iostream>
#include<stack>
using namespace std;
int main()
{
    stack<int> s;
    int m;
    cin>>m;

    while(m)
    {
    	int n;
    	n=m%2;
    	s.push(n);
    	m=m/2;

	}
	while(!s.empty())
	{
		cout<< s.top();
		s.pop();
	}

    return 0;

}

数据库方式进行二进制转换

#include<bits/stdc++.h>
using namespace std;
int main()
{

int num;
cout << “请输入要转换2进制的数: “;
cin >> num;
char str[100];
_itoa(num, str, 2); //c++中一般用_itoa,用itoa也行,
cout <<“转换结果为: “<<str<<endl;
return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114914.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wait(),notify(),notifyAll()_多线程wait和sleep

    wait(),notify(),notifyAll()_多线程wait和sleep前言在上一篇中,我们介绍了Java中的线程的基本概念,我们了解到线程是有很多种状态的,本章,我们就来聊聊线程中的状态是如何进行控制与切换的。Java中提供了很多种方法对线程的状态进行控制以及线程之间的通信,包括wait、notify、notifyAll、sleep,下面我们就来看一下它们之间有什么区别,以及如何使用这些方法进行线程状态的控制与通信。线程之间的通信在Java中可以用w…

    2025年10月6日
    4
  • struts2注解配置action_java struts框架

    struts2注解配置action_java struts框架 ActionContext是Action的上下文,Struts2自动在其中保存了一些在Action执行过程中所需的对象,比如session,parameters,locale等。Struts2会根据每个执行HTTP请求的线程来创建对应的ActionContext,即一个线程有一个唯一的ActionContext。因此,使用者可以使用静态方法ActionContext.getContext(…

    2025年10月14日
    2
  • cpld和fpga区别

    cpld和fpga区别1、cpld执行一次下载编程后,逻辑阵列就被保存下来;fpga断电后逻辑功能不能保存,需要一块配置芯片在上电后对其重新配置。2、cpld擦写次数非常有限(100-1000),而fpga读写次数可以理解为无限次。3、cpld容量较小,fpga容量很大。4、一般调试阶段用fpga,实际产品用cpld。5、cpld保密性好,速度快。https://wenku.baidu.com/…

    2022年6月4日
    67
  • mysql sock找不到

    mysql sock找不到

    2022年2月13日
    46
  • 矩阵幂(矩阵相乘)

    矩阵幂(矩阵相乘)题目描述给定一个 n n 的矩阵 求该矩阵的 k 次幂 即 P k 输入描述 第一行 两个整数 n 2 lt n lt 10 k 1 lt k lt 5 两个数字之间用一个空格隔开 含义如上所示 接下来有 n 行 每行 n 个正整数 其中 第 i 行第 j 个整数表示矩阵中第 i 行第 j 列的矩阵元素 Pij 且 0 lt Pij lt 10 另外 数据保证最后结果不会超过 10 8 输出描述 对于每组测试数据 输

    2025年9月17日
    3
  • 线程理论知识

    一、什么是线程线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才

    2022年3月29日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号