1.有序顺序表的插入

来源:互联网 发布:手机显微镜软件 编辑:程序博客网 时间:2024/04/30 11:31
#include <cstdlib>#include <iostream>using namespace std;//定义顺序表的大小#define MAX 100 //定义顺序表接点typedef struct  Node{        int data[MAX];        int length;        }Node;        //查找插入位置int getLocation(Node node,int x){    int i;    for(i=1;i<=node.length;i++){                                             if(node.data[i]>x)  return i;                         }     return i;    } //插入新元素 void insert(Node &node,int x){     int location=getLocation(node,x);     int i;     for(i=node.length;i>=location;i--){          node.data[i+1]=node.data[i];           }     node.data[location]=x;     node.length++;     } int main(int argc, char *argv[]){    //构造一个顺序表接点    Node node;    node.length=0;    int i;    for(i=1;i<=10;i++){                      node.data[i]=i*i;                      node.length++;          }    //打印没有插入前顺序表的数据      for(i=1;i<=node.length;i++){                    printf("--%d", node.data[i]);                            }     //换行      putchar('\n');          insert(node,5);    //打印没有插入后顺序表的数据      for(i=1;i<=node.length;i++){                    printf("--%d", node.data[i]);                            }    system("PAUSE");    return EXIT_SUCCESS;}


 

原创粉丝点击