• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: C/C++
  • 标签: c语言  伸展树  

资源简介

广工高级算法作业算法和高级数据结构教程课程设计 郁闷的出纳员(伸展树)C语言实现

资源截图

代码片段和文件信息

#include 
#define MAX_SIZE 10
typedef struct Node Node;
struct Node{
int data;
int index;
};

int tree[MAX_SIZE] = {0};

int main() {
void bubbleSort(Node *arr int len);
void update(int idx int value);
int getSum(int idx);

// 9 1 0 5 4
Node node[MAX_SIZE];
int discreted[MAX_SIZE];
// int discreted[MAX_SIZE] = {5 2 1 4 3};
int n i j result = 0;
printf(“%s\n“ “请输入测试用例个数:(例:5)“);
scanf(“%d“ &n);
printf(“%s\n“ “请输入测试用例:(例:91054)“);
for(i = 0; i < n; i++) {
scanf(“%d“ &node[i].data);
node[i].index = i;
}

bubbleSort(node n);

// 离散化数组
for(i = 1; i <= n; i++) {
discreted[node[i - 1].index] = i;
}
    printf(“离散后数组:“);
for(i = 0; i < n; i++) {
printf(“%d  “discreted[i]);
}

for(i = 1 ; i < n; i++) {
update(discreted[i] 1);
result += (i + 1) - getSum(discreted[i]);

评论

共有 条评论