資料結構 線性表實現之一

來源:互聯網
上載者:User

數組實現線性表

#include "stdio.h"typedef struct{int data[20];int length;}Sqlist;//返回下標int  LocateElem(Sqlist L,int x){int i;for(i=1;i<=L.length;i++){if(x<L.data[i]){return i;}}return i;}//插入元素的演算法void insert(Sqlist &L,int x){int p,i;p=LocateElem(L,x);for(i=L.length;i>=p;i--){L.data[i+1]=L.data[i];}L.data[p]=x;++(L.length);}//尋找第一個元素值為x的元素int chazhao(Sqlist L,int x){for(int i=1;i<=L.length;i++)if(x==L.data[i])return i;return 0;}//在順序表第p個位置插入新的元素e,失敗返回0int chaRu(Sqlist &L,int p,int e){if(p>L.length+1||p<1)return 0;else{for(int i=L.length;i>=p;i--){L.data[i+1]=L.data[i];}L.data[p]=e;L.length++;return 1;}}//刪除順序表下標為P的元素,成功返回1,失敗返回0;int shanChu(Sqlist &L,int p){if(p<1||p>L.length)return 0;else{for(int i=p;i<L.length;i++)L.data[i]=L.data[i+1];L.length--;return 1;}}void main(){Sqlist L;L.length=10;for(int i=1;i<=L.length;i++){L.data[i]=i;}for(int i=1;i<=L.length;i++){printf("%d ",L.data[i]);}insert(L,5);printf("\n");for(int i=1;i<=L.length;i++){printf("%d ",L.data[i]);}int p;p=chazhao(L,7);printf("\n%d ",p);chaRu(L,2,30);for(int i=1;i<=L.length;i++){printf("%d ",L.data[i]);} shanChu(L,2);printf("\n");for(int i=1;i<=L.length;i++){printf("%d ",L.data[i]);}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.