C语言逆序排列在算法设计中的应用

   2024-10-01 7700
核心提示:在算法设计中,逆序排列是一种常见的操作。它可以应用于各种数据结构和场景,例如数组、链表、字符串等。下面是一些使用C语言实

在算法设计中,逆序排列是一种常见的操作。它可以应用于各种数据结构和场景,例如数组、链表、字符串等。下面是一些使用C语言实现逆序排列的示例:

逆序排列数组:
#include<stdio.h>void reverseArray(int arr[], int start, int end) {    int temp;    while (start < end) {        temp = arr[start];        arr[start] = arr[end];        arr[end] = temp;        start++;        end--;    }}int main() {    int arr[] = {1, 2, 3, 4, 5};    int n = sizeof(arr) / sizeof(arr[0]);    printf("Original array: ");    for (int i = 0; i < n; i++) {        printf("%d ", arr[i]);    }    printf("\n");    reverseArray(arr, 0, n - 1);    printf("Reversed array: ");    for (int i = 0; i < n; i++) {        printf("%d ", arr[i]);    }    printf("\n");    return 0;}
逆序排列链表:
#include<stdio.h>#include <stdlib.h>struct Node {    int data;    struct Node* next;};struct Node* reverseList(struct Node* head) {    struct Node *prev = NULL;    struct Node *current = head;    struct Node *next = NULL;    while (current != NULL) {        next = current->next;        current->next = prev;        prev = current;        current = next;    }    return prev;}void printList(struct Node* head) {    while (head != NULL) {        printf("%d -> ", head->data);        head = head->next;    }    printf("NULL\n");}int main() {    struct Node* head = NULL;    struct Node* temp;    int arr[] = {1, 2, 3, 4, 5};    int n = sizeof(arr) / sizeof(arr[0]);    for (int i = n - 1; i >= 0; i--) {        temp = (struct Node*)malloc(sizeof(struct Node));        temp->data = arr[i];        temp->next = head;        head = temp;    }    printf("Original list: ");    printList(head);    head = reverseList(head);    printf("Reversed list: ");    printList(head);    return 0;}
逆序排列字符串:
#include<stdio.h>#include<string.h>void reverseString(char* str) {    int len = strlen(str);    char temp;    for (int i = 0; i < len / 2; i++) {        temp = str[i];        str[i] = str[len - 1 - i];        str[len - 1 - i] = temp;    }}int main() {    char str[] = "Hello, world!";    printf("Original string: %s\n", str);    reverseString(str);    printf("Reversed string: %s\n", str);    return 0;}

这些示例展示了如何在C语言中实现逆序排列。你可以根据需要修改这些代码以适应不同的数据结构和场景。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号