当前位置:网站首页>Reverse order and comparison of strings

Reverse order and comparison of strings

2022-06-13 08:10:00 Stupid little bird learning code

#include <stdio.h>
#include <string.h>
#include <assert.h>

//1. The first one is  
void left_move(char* arr,int k)
{
	assert(arr);
	int i = 0;
	int len = strlen(arr);
	for(i=0;i<k;i++)
	{
		// Left hand one character 
		// First step 
		char tmp = *arr;
		int j = 0;
		for(j=0;j<len-1;j++)
		{
			*(arr+j) = *(arr+j+1);
		} 
		*(arr+len-1) = tmp;
	}
}

//2. The second kind ( Three step inversion ) 
//abcdef
//bafedc
//cdefab

// String array reverse order function  
void reverse(char* left,char* right)
{
	assert(left != NULL);
	assert(right != NULL);
	while(left<right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
}

// The reverse  
void left_move_3(char* arr,int k)
{
	assert(arr);
	int len = strlen(arr);
	assert(k<len);
	reverse(arr,arr+k-1);// On the left in reverse order  
	reverse(arr+k,arr+len-1);// On the right in reverse order  
	reverse(arr,arr+len-1);// The whole in reverse order  
}

原网站

版权声明
本文为[Stupid little bird learning code]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/164/202206130806409233.html