经典例题:判断给定数组是否已经排好序

判断给定数组是否已经排好序

输入纯数字、纯大写字母、纯小写字母或者其三者的混合,若为纯数字序列,则按数字大小顺序判断,若为混合序列,则按ASCII表的顺序大小判断。
例如:
输入:1 3 a b A
输出:flase
输入:1 2 3 3 3
输出:true


```cpp
#include<bits/stdc++.h>     //C++万能头文件,但可能会降低速度,部分编译器不支持
using namespace std;

int main(){
    string num;
	vector<string>a;                //vector实现动态数组
	             
	while(1){
        cin>>num;
        a.push_back(num);           //将读入的num存在a数组中
		if(cin.get()=='\n') break;         //实现在未知大小的情况下,录入到换行符为结束
	}
	//cout<<a.back();               //会读取最后一个数
	//int n=a.size();               //会读取a数组的长度(注意不是下标)
	int j=0,length=a.size();
    while(j<length-1&&(a[j].compare(a[j+1])==0)) j++;      //排除元素全相同,或者元素开头存在相同的情况
	if(length<=1||j==length-1){                         //数组中只有一个元素或者元素全相同,则返回true
        cout<<"true";
        return 0;
	}
	
	else j=a[j].compare(a[j+1]);                    //在排除前面元素相同的基础上,比较当前元素与下一元素的结果
	for(int i=1;i<length-1;i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值