[C ++] [ポインタ配列]

ポインタ、入力、出力、および並べ替えの配列を作成します

#include<iostream>
#include<string.h>
#include<string>
using namespace std;
int  main(){
    
    
	void print(char *p[],int n);
	void sort(char *p[],int n);
	int select,n;
	cin>>n;
	char *p[n];//声明指针数组长度 
	for(int i=0;i<n;i++){
    
    
		p[i] = new char[20];//申请内存 
			
	}
	for(int i=0;i<n;i++){
    
    
		cin>>p[i];
	}
	sort(p,n); 
	print(p,n);
return 0;	
}
bool isPalindrome(const char *str){
    
     // 判断回文
	int len = strlen(str);
	for(int i=0;i<len/2;i++){
    
    
		if(str[i] != str[len-i-1])
			return false;
	}
	return true;
}
void sort(char *p[],int n){
    
      //排序 
	char *temp;
	for(int i=0;i<n;i++){
    
    
		for(int j=i+1;j<n;j++){
    
    
			if(strcmp(p[i],p[j]) > 0){
    
    
				temp = p[i];
				p[i] = p[j];
				p[j] = temp;
			}
		}
	}
}
void print(char *p[],int n){
    
      //打印 
	for(int i=0;i<n;i++){
    
    
		cout<<p[i]<<"\n";
	}
}

おすすめ

転載: blog.csdn.net/weixin_48180029/article/details/111941422