当前位置: 代码迷 >> 综合 >> day(15) bubble 函数实现,strcpy函数仿写 字符串左旋 等作业习题集
  详细解决方案

day(15) bubble 函数实现,strcpy函数仿写 字符串左旋 等作业习题集

热度:91   发布时间:2023-11-26 18:12:20.0

1 字符串左旋k个字符

// 分成一部分 左边部分是要左旋的个数 先把他们逆序  右边部分为的个数是全部个数减去要左线的个数 最后一起逆序;
//void reverse(char* p1, int start,int end)
//{
//    char* left = p1+start;
//    char* right = p1 + end;
//    while (left < right)
//    {
//        char* tmp = *left;
//        *left = *right;
//        *right = tmp;
//        left++;
//        right--;
//    }
//}
//void my_string(char *arr, int k)
//{
//    int len = strlen(arr);
//    reverse(arr,0,k-1);
//    reverse(arr,k,len-1);
//    reverse(arr, 0,len - 1);
//    printf("%s\n", arr);
//
//}

/zhuijia***********
//int  my_string(char* p1, char* p2)
//{
//    int len = strlen(p1);
//    strncpy(p1, p1, len);
//    char*p=strstr(p1, p2);
//    if (p != NULL)
//    {
//        return 0;
//    }
//    return 1;
//}
 


//仿写qsort paixue
//struct stu 
//{
//    char name[20];
//    int age;
//};
//
//
//void compare(const void *e1,const void *e2)
//{
//    return ((struct stu*)e1)->age - ((struct stu*)e2)->age;
//}
//void swap(char* p1, char* p2,int width)
//{
//    assert(p1 && p2);
//    /*int count = 1;
//    while (count <= width)
//    {
//        char* tmp = *p1;
//        *p1 = *p2;
//        *p2 = tmp;
//        p1++;
//        p2++;
//        count++;
//    }*/
//    for (size_t i = 0; i < width; i++)     //有范围hou 循环可以用for
//    {
//        char* tmp = *p1;
//        *p1 = *p2;
//        *p2 = tmp;
//        p1++;
//        p2++;
//    }
//        
//}
//void Bubblesort(void *base,size_t num,size_t width,int(*p)(const void*,const void *))
//{
//
//    size_t i = 0;
//    for (size_t i = 0; i < num-1; i++)
//    {
//        size_t j = 0;
//        for (size_t j = 0; j < num-1-i; j++)
//        {
//            if (p(((char*)base + j * width) , ((char*)base + (j + 1) * width)) > 0)   //记得在这里调用函数
//            {
//                swap((char*)base + j * width  , (char*)base + (j + 1)*width,width);
//
//            }
//
//        }
//
//    }
//}
//int main()
//{
//    struct stu s[] = { {"zhangshan",20},{"lisi",23},{"wangwu",22} };
//    int sz = sizeof(s) / sizeof(s[0]);
//    printf("%d\n", sz);
//    for (size_t i = 0; i < sz; i++)
//    {
//        printf("%s %d\n", s[i].name, s[i].age);
//
//    }
//    
//    Bubblesort(s, sz, sizeof(s[0]), compare);
//    for (size_t i = 0; i < sz; i++)
//    {
//        printf("%s %d\n", s[i].name, s[i].age);
//
//    }
//    system("pause");
//    return 0;
//}


//字符串拷贝
//void my_string(char* p1, char* p2)
//{
//    char* tmp = p1;
//    while (*p1++ = *p2++)
//    {
//        ;
//    }
//    printf("%s \n", tmp);
//}
//int  main()
//{
//    char arr[] = "xxxxxxxxx";
//    char arr1[] = "sdada";
//    my_string(arr, arr1);
//    system("pause");
//    return 0;
//}

  相关解决方案